Как создать PhraseQuery для нескольких полей с помощью специального анализатора? - PullRequest
2 голосов
/ 07 июня 2011

Я бы хотел разобрать запрос пользователя "Hello world!" с помощью моего пользовательского анализатора и поискового поля «title», «description» с помощью PhraseQuery

Я нашел сумасшедшее решение моей проблемы, но оно выглядит не оптимизированным

Ответы [ 2 ]

0 голосов
/ 07 июня 2011

Если вы используете собственный настраиваемый анализатор и используете этот анализатор для анализа запроса в соответствии с вашими потребностями, вы должны увидеть jFlex (Используйте для изменения грамматики lucene).

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

Вам нужно использовать SpanNearQuery при поиске фразы типа "Hello world!"

SpanNearQuery spanNear = new SpanNearQuery (span, 0, true);

0 голосов
/ 07 июня 2011

Попробуйте MultiFieldQueryParser .Вы можете указать список полей, для которых должен быть создан запрос.

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