Нижний и верхний регистр в ключевом слове Solr - PullRequest
2 голосов
/ 24 февраля 2012

Я использую Solr 3.5.0, и в схеме я включил LowerCaseFilterFactory во всех необходимых полях, но когда я ищу, например, "рубашки", я могу получить результаты, также когда я ищу "рубашки", яв состоянии получить ожидаемые результаты, но когда я пытаюсь искать с помощью "shiRTs", результаты не дают.Я знаю, что мне чего-то не хватает в Схеме.

Пожалуйста, помогите мне в этом.

Спасибо

Jeyaprakash.

1 Ответ

4 голосов
/ 24 февраля 2012

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

Как и в вашем случае - если вы применяете фильтр нижнего регистра во время индекса, ноне во время запроса: -
Индексный токен будет shirts, однако, поскольку поисковый запрос не анализируется SHIRTS, или даже Shirts не будет совпадать с индексированным shirts токеном.

То же самое применимо, если вы используете стеммеры, стоп-слова или другие фильтры.

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

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

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