Я посмотрел другие вопросы о подсчете очков Lucene, но, похоже, ни один из них не покрывает мою проблему.
Я индексирую несколько больших файлов Word.Строки в этих файлах разделены, и каждые 10 строк в файле превращаются в Lucene Document
(на самом деле они перекрывают 10 строк Documents
, но это не имеет значения).
Когда ясделайте поиск по «пузырному цвету», например ... что я нахожу, к моему небольшому удивлению, что если одно из этих слов встречается дважды в заданном Document
, оно считается почти так же хорошо, как и поиск обоихслова для поиска (например, «пузырь» и «цветение») в одном и том же Document
.
Также Document
(набор из 10 строк), содержащий 3 экземпляра слова «пузырь», будет указан перед Document
, содержащим 1 x «пузырь» и 1 x «цветение».И тот, у кого 2 x «пузыря», кажется, считается равным Document
с обоими словами.
NB a String
, как это, «цветение пузыря», похоже, будет превращено вBooleanQuery
с двумя предложениями на QueryParser.parse()
.
Есть ли способ настроить что-либо, чтобы факт нахождения обоих слов (поисковых терминов) в Document
оценил это на Document
выше, чем нахождение2 или 3 экземпляра одного слова, но ноль другого?
PS Кстати, я просто выполнил поиск, где строка поиска была "+ bubble + bloom" ... очевидно, это исключает любые Document
где отсутствует одно словоНо я вижу это как своего рода обходной путь.Я хочу, чтобы функциональность по умолчанию без «+» (для «требуется») оценивала факт присутствия всех терминов выше.