Поиск проблемы с Lucene - PullRequest
       3

Поиск проблемы с Lucene

0 голосов
/ 08 августа 2011

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

Каждый документ имеет поля Название, описание и long_description, в этих полях содержатся данные о различных заболеваниях и их симптомах. Теперь, когда я ищу фразу вроде следующего «заражение тонкой кишки» Я ожидаю, что «Холера» будет первым результатом (кстати, я использую MultiFieldQueryParser с StandardAnalyzer.)

Причина, по которой я ожидаю, что холера будет первой, заключается в том, что в полях длинного описания есть точная фраза "инфекция тонкой кишки". Но вместо того, чтобы этот результат вышел сверху, он идет далеко внизу, потому что есть много других документов, в которых упоминается термин «инфекция» в поле заголовка (которое значительно меньше по длине, чем поле описания). Это можно легко увидеть на скриншоте ниже. enter image description here

Так что просто потому, что "холера" не имеет самой подходящей информации в поле "заголовок", она идет внизу. Я видел следующую ветку, где предлагается использовать «~ 3», но это то, что я должен делать для всех моих запросов из-за сцены? Разве нет лучшего способа сделать это?

Поиск фраз в Lucene

Ответы [ 2 ]

1 голос
/ 09 августа 2011

Сделайте так, чтобы ваш запрос увеличил количество совпадений в заголовке high, description medium и long_desc low, например:

title:intestine^100 description:intestine^10 long_description:intestine^1

Этот пример дает оценку совпадений заголовков "+100", оценку совпадений описаний "+10" и оценку совпадений длинных описаний "+1". Более высокие общие оценки повышения сортируются первыми. Вы можете выбрать любые числа, которые вам нравятся для значений буста.

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