Solr 1.3 Игнорировать слово «Джеки»
Вопрос
Я использую Solr 1.3. Недавно QA сообщает об ошибке для функциональности поиска, что нет результата для слова «Джеки». Но, когда я смотрел в документ, используя Луки, есть много документов со словом «Джеки», например,
Jackie Holding, Kumar Rameshwaram, Morris Jackson
Jackie Holding, Brendon Wessel, Smith McShlam
Jackie Redmond, John Smith, Martha Doum
Trevor Harris, Jackie Collins, Martin Green
Если я ищу любой термин, отличный от Jackie, Solr вернуть документы. Но никаких документов для слова «Джеки». Даже я пробую это со всем анализатором, Solr возвращает никакой документа.
Я не могу выяснить проблему. Помогите пожалуйста мне.
Решение
Пара идей:
- попробуйте установить
debugQuery=on
При запросе Jackie в консоли администратора Solr. Посмотрите, как это анализируется. - Убедитесь, что «Jackie» не находится в списке стоп-слова (Stopwords.txt)
- Попробуйте добавить «Jackie» в список защищенных слов (ProtWords.txt), чтобы он не был вытеснен.
Другие советы
Убедитесь, что в вашей схеме фабрики фильтров для вашего запроса и анализаторов индекса соответствуют (например, у них должна быть такая же конфигурация stemming). Конечно, если вы изменили свою схему с момента индексации, то фильтры анализатора запросов должны соответствовать те, которые использовались в состоянии индекса, или вам придется повторно индексировать.
Проблема, которую вы описываете, как правило, происходит, когда анализатор запросов использует различную конфигурацию stemming, чем анализатор индекса (например, используя разные языки).