Я пытаюсь настроить сервер Apache Solr для поиска продуктов в Django Oscar. Поэтому я следовал приведенной здесь документации: https://django -oscar.readthedocs.io / en / latest / howto / how_to_setup_solr. HTML .
Однако после извлечения файла tar и помещения необходимого кода в файл settings.py. Я запустил команду
./manage.py build_solr_schema > solr-4.7.2/example/solr/collection1/conf/schema.xml
На консоли я получил такой вывод:
Save the following output to 'schema.xml' and place it in your Solr configuration directory.
--------------------------------------------------------------------------------------------
Итак, я скопировал его поверх существующего кода в schema.xml. Затем запустил java -jar start.jar
, и я получил эту ошибку org.xml.sax.SAXParseException: Content is not allowed in prolog
, поэтому я нашел его и нашел ответ
здесь , похоже, что после того, как я скопировал вывод с консоли в этот файл, было вставлено дополнительное пространство, поэтому я просто удалил его.
Теперь я выполнил ту же команду java -jar start.jar
и получил еще одну ошибку.
3552 [coreLoadExecutor-4-thread-1] ERROR org.apache.solr.core.CoreContainer – Unable to create core: collection1
org.apache.solr.common.SolrException: Schema Parsing Failed: unknown field 'id'. Schema file is /home/netzary/SamuelProjects/cecilia_new2/cecilia/solr-4.7.2/example/solr/collection1/schema.xml
at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:618)
at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:166)
at org.apache.solr.schema.IndexSchemaFactory.create(IndexSchemaFactory.java:55)
at org.apache.solr.schema.IndexSchemaFactory.buildIndexSchema(IndexSchemaFactory.java:69)
at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:559)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:597)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:258)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:250)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: unknown field 'id'
at org.apache.solr.schema.IndexSchema.getIndexedField(IndexSchema.java:340)
at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:536)
... 13 more
3561 [coreLoadExecutor-4-thread-1] ERROR org.apache.solr.core.CoreContainer – null:org.apache.solr.common.SolrException: Unable to create core: collection1
at org.apache.solr.core.CoreContainer.recordAndThrow(CoreContainer.java:989)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:606)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:258)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:250)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.solr.common.SolrException: Schema Parsing Failed: unknown field 'id'. Schema file is /home/netzary/SamuelProjects/cecilia_new2/cecilia/solr-4.7.2/example/solr/collection1/schema.xml
at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:618)
at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:166)
at org.apache.solr.schema.IndexSchemaFactory.create(IndexSchemaFactory.java:55)
at org.apache.solr.schema.IndexSchemaFactory.buildIndexSchema(IndexSchemaFactory.java:69)
at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:559)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:597)
... 8 more
Caused by: java.lang.RuntimeException: unknown field 'id'
at org.apache.solr.schema.IndexSchema.getIndexedField(IndexSchema.java:340)
at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:536)
... 13 more
3564 [main] INFO org.apache.solr.servlet.SolrDispatchFilter – user.dir=/home/netzary/SamuelProjects/cecilia_new2/cecilia/solr-4.7.2/example
3565 [main] INFO org.apache.solr.servlet.SolrDispatchFilter – SolrDispatchFilter.init() done
3619 [main] INFO org.eclipse.jetty.server.AbstractConnector – Started SocketConnector@0.0.0.0:8983
Полагаю, это означает, что есть поле с именем 'id', которое оно не может запустить? Я не знаю, как это решить, поэтому мне нужна помощь, чтобы выполнить эту работу, или есть какие-то другие шаги, которые я мог бы отсутствует