Solr не может найти ресурс stopwords_en.txt

Я пытаюсь настроить Solr 3.6.0 с Django-haystack Beta 2.0.0.

После запуска ./manage.py build_solr_schema и перемещения schema.xml в каталог conf при посещении http://localhost:8983/solr/admin я получаю сообщение об ошибке, точно такое же, как и в эта тема.

org.apache.solr.common.SolrException: No cores were created, please check the logs for errors

java.lang.RuntimeException: Can't find resource 'stopwords_en.txt' in classpath or 'solr/./conf/', cwd=/home/randall/startupsearch_live/apache-solr-3.6.0/example

В конце темы пользователь упоминает, что schema.xml должен быть отредактирован, чтобы сопоставить stopwords_en.txt с каталогом /example/solr/conf/, что я сделал как через символическую ссылку, так и путем редактирования всех экземпляров stopwords.txt. в /solr/conf/stopwords_en.txt в сгенерированном файле schema.xml. Однако та же ошибка сохраняется, что приводит к немного другому результату:

java.lang.RuntimeException: Can't find resource '/solr/conf/stopwords_en.txt' in classpath or 'solr/./conf/', cwd=/home/randall/startupsearch_live/apache-solr-3.6.0/example

Какой файл я должен отредактировать, чтобы решить эту проблему?


person Randall Ma    schedule 08.07.2012    source источник


Ответы (5)


Он не может найти файл stopwords_en.txt в пути к классам. Вы должны добавить файл stopwords_en.txt в каталог solr/conf/. Дополнительную информацию о стоп-словах можно найти здесь.

person Parvin Gasimzade    schedule 09.07.2012

Лучше найти все вхождения stopwords_en.txt в schema.xml и заменить их на lang/stopwords_en.txt.

person Or Arbel    schedule 14.09.2013

Вы должны поместить stopwords_en.txt в путь. Назовите файл stopwords_en.txt и вставьте рядом со schema.xml. Надеюсь, вы знаете, какой фильтр стоп-слов используется.....

person chandresh    schedule 09.07.2012

Чтобы объединить все три приведенных выше ответа, вам понадобится файл stopwords_en.txt, поскольку он начинает тестирование текста на английском языке.

Из http://wiki.apache.org/solr/LanguageAnalysis#Stopwords

Стоп-слова влияют на Solr тремя способами: релевантность, производительность и использование ресурсов.

С точки зрения релевантности, эти чрезвычайно часто встречающиеся термины, как правило, сбивают алгоритм подсчета очков, и вы не получите очень хороших результатов, если оставите их. В то же время, если вы удалите их, вы можете вернуть плохие результаты, когда стоп-слово действительно важно.

С точки зрения производительности, если вы сохраняете стоп-слова, некоторые запросы (особенно фразовые запросы) могут выполняться очень медленно.

С точки зрения использования ресурсов, если вы сохраните стоп-слова, индекс будет намного больше, чем если бы вы их удалили.

Один компромисс, который вы можете сделать, если у вас есть место на диске: вы можете использовать CommonGramsFilter/CommonGramsQueryFilter вместо StopFilter. Это решает проблемы релевантности и производительности за счет еще большего использования ресурсов, потому что будут формироваться биграммы стоп-слов с соседними словами.

Что вам нужно сделать, так это скопировать исходную версию, расположенную в папке /conf/lang вашего каталога solr, только в каталог /conf.

cp PATH/TO/solr/conf/lang/stopwords_en.txt PATH/TO/solr/conf
person dshamis317    schedule 29.10.2014

В Solr 5 я получил ту же ошибку. Я использовал оболочку Solr zookeeper cli для загрузки своей конфигурации. Я скопировал содержимое существующей конфигурации solr из server/solr/configsets/basic_configs, но каким-то образом пропустил каталог lang.

Каталог conf/lang содержит файл stopwords_en.txt.

person Phill Campbell    schedule 25.02.2016