Lucene - возможно ли изменить оценку запроса без изменения самого запроса? - PullRequest
0 голосов
/ 06 апреля 2019

Я пытаюсь реализовать функцию обратной связи по релевантности в моей программе, используя один из доступных алгоритмов. Для этого необходимо изменить исходную оценку запроса, добавив ее к сумме оценок всех соответствующих документов. Запрос с улучшенной оценкой должен давать новые результаты при использовании. Проблема в том, что пока я не нашел способа изменить оценку запросов в Lucene. Я что-то упустил в документации? Предоставляет ли Lucene способ изменить оценку существующего запроса?

1 Ответ

0 голосов
/ 09 апреля 2019

Чтобы изменить оценку запроса, вы оборачиваете этот запрос внутри другого запроса. Есть несколько вариантов сделать это в Lucene. Два очень важных:

  • FunctionScoreQuery : предоставляет статические методы для переноса запроса, умножая исходную оценку либо на результат другого запроса, либо на DoubleValuesSource, который создает увеличение для каждого документа в исходном наборе.
  • Модуль выражений : Это позволяет выполнять произвольные вычисления для получения оценки. Может сочетаться с FunctionScoreQuery выше. Проверьте документы для получения дополнительной информации .
...