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

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

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

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

Раздел 0 вернул бы результат 0,345

Раздел 1 вернул бы результат 0,337

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

3 ответа

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

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

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

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

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

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

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

Другие вопросы по тегам