Стек сена Django не добавляется в индекс Solr.[Работает со свистом, не работает с Солром]
-
19-09-2019 - |
Вопрос
Во время разработки я использовал Whoosh в качестве бэкэнда, и теперь хочу переключиться на Solr.Я установил Solr, изменил настройки, на Haystack_search_Engine и Haystack_solr_url.
Теперь, когда я пытаюсь обновить или перестроить индекс, он терпит неудачу сFailed to add documents to Solr: [Reason: None]
.
Все поисковые запросы также ошибочны: по всем запросам возвращается 0 результатов.Это сработает, если я перейду на свист.Тем не менее, у меня есть набор индекса RealtimeSearch, и во время создания модели я не получаю предупреждения о том, что я не могу писать для поиска.(Из чего я предполагаю, что данные правильно записываются в индекс solr.
Я вижу, что solr работает, перейдя непосредственно в порт, где был запущен solr.
Решение
Эта ошибка обычно возникает, когда файл Schema.xml настроен неправильно.
Вы можете использовать python manage.py build_solr_schema > schema.xml
для создания схемы.
Чтобы solr действительно мог его использовать, вы обычно помещаете его в example/solr/conf/schema.xml
Окончательно:посмотрите вывод журнала вашего сервера Solr.Во время разработки я запускаю его через java -jar start.jar
и он неявно печатает на моем экране.В противном случае ваши журналы попадут в example/logs
каталог.
Кроме того, дважды проверьте HAYSTACK_SOLR_URL
.Не должно быть косой черты в конце.
Другие советы
У меня была эта ошибка.Первая причина заключалась в том, что я не пересобирал Schema.xml, но есть еще кое-что...После перестройки файла Schema.xml необходимо перезапустить Solr.При этом Solr распознает изменения схемы и узнает новые поля.