Solr индексация, поиск stemming - PullRequest
       2

Solr индексация, поиск stemming

3 голосов
/ 23 февраля 2012

У меня проблема с индексом набора кадровых данных.Полнотекстовый индекс основан на имени и должности человека.

Я могу без проблем искать имя, например "john", и часть имени, например, "anthon", и это работает.

Тем не менее, некоторые имена не будут искать правильно, например, «anthony» не возвращает результатов, но «anth» возвращает все anthony.Как мудрый поиск «carly» ничего не возвращает, а «car» делает.

1 Ответ

2 голосов
/ 23 февраля 2012

Как прокомментировал Маврико, Стемминг не рекомендуется для имен лиц.
Стеблинг может привести к неожиданным результатам, по крайней мере, для имен людей.

Также было бы интересно проверить ваш schema.xml и примененный анализ полей.

Эта проблема может возникнуть, если вы используете другой анализ для индекса и времени запроса.

С http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#Analyzers

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

Из примера, который вы упомянули, кажется, что Stemmer присутствует в поле во время индексации, но, похоже, этого не существует при анализе времени запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...