У меня есть индекс Lucene около 22 000 документов Lucene, но я столкнулся с уникальной проблемой с ним при создании программы поиска.
Каждый документ имеет поля Название, описание и long_description, в этих полях содержатся данные о различных заболеваниях и их симптомах. Теперь, когда я ищу фразу вроде следующего
«заражение тонкой кишки» Я ожидаю, что «Холера» будет первым результатом (кстати, я использую MultiFieldQueryParser с StandardAnalyzer.)
Причина, по которой я ожидаю, что холера будет первой, заключается в том, что в полях длинного описания есть точная фраза "инфекция тонкой кишки". Но вместо того, чтобы этот результат вышел сверху, он идет далеко внизу, потому что есть много других документов, в которых упоминается термин «инфекция» в поле заголовка (которое значительно меньше по длине, чем поле описания). Это можно легко увидеть на скриншоте ниже. ![enter image description here](https://i.stack.imgur.com/GMmys.png)
Так что просто потому, что "холера" не имеет самой подходящей информации в поле "заголовок", она идет внизу. Я видел следующую ветку, где предлагается использовать «~ 3», но это то, что я должен делать для всех моих запросов из-за сцены? Разве нет лучшего способа сделать это?
Поиск фраз в Lucene