Результаты Lucene Score - PullRequest
       13

Результаты Lucene Score

40 голосов
/ 02 августа 2008

В Lucene, если у вас было несколько индексов, которые покрывали только один раздел каждый. Почему один и тот же поиск по разным индексам дает результаты с разными баллами? Результаты с разных серверов совпадают точно.

т.е. если я искал:

  • Имя - Джон Смит
  • DOB - 11/11 / 1934

Раздел 0 возвращает значение 0,345

Раздел 1 вернул бы оценку 0,337

Оба соответствуют точно по имени и DOB.

Ответы [ 3 ]

19 голосов
/ 02 августа 2008

Оценка содержит обратную частоту документов (IDF). Если термин «Джон Смит» находится в одном разделе, 0, 100 раз и в разделе 1, один раз. Оценка для поиска Джона Смита будет выше при поиске в разделе 1, поскольку этот термин более редок.

Чтобы обойти это, вам понадобится, чтобы индекс был по всем разделам, или вам нужно переопределить IDF.

13 голосов
/ 02 августа 2008

Потому что оценка определяется по индексу, если я не полностью ошибаюсь.

Если у вас разные индексы (больше / меньше или разные данные, которые были проиндексированы), оценка будет отличаться:

http://lucene.apache.org/core/3_6_0/scoring.html

(Предупреждение: содержит математику: -))

8 голосов
/ 03 августа 2008

Вас также может заинтересовать вывод метода explain() и полученный в результате объект Explanation , который даст вам представление о том, как оцениваются вещи. как они есть.

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