проблема с автоматическим преобразованием запросов Lucene - PullRequest
1 голос
/ 25 августа 2011

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

Пример:

MY QUERY: "want to go" (including " as I'm searching whole phrases)
QUERY OBJECT created from my query (.toString): text:"want ? go"

NUMBER OF RESULTS for texts:
I want to go out today -> 1 result - correct
I want sdfto go out today -> 1 result - incorrect, should be 0

Я хотел точно подобрать фразу«хочу уйти», а не «хочу что бы то ни было идти».Я заметил, что только слова «to» и «a» заменяются на «?».

Мой вопрос заключается в том, почему Lucene меняет запросы, предоставленные мной, и как заставить Lucene задавать мои запросы (без изменений)?

Более того, я использую StandardAnayzer (индексация и запросы).

1 Ответ

2 голосов
/ 25 августа 2011

to - это стоп-слово , означающее, что оно не индексируется и не ищется некоторыми анализаторами [включая StandardAnalyzer ], поскольку обычно оно неполезно для поиска.если вы не хотите, чтобы он был «остановлен», вам нужно будет использовать другой анализатор [как для индексации, так и для поиска], но он, вероятно, даст достойные результаты.
Вы также можете удалить слово 'to' из поля STOP_WORDS

ВАЖНО: ваш анализатор индексации и анализатор поиска должны быть согласованными, включая поле STOP_WORDS!

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