Результаты оценки Lucene
В Lucene, если у вас есть несколько индексов, которые охватывают только один раздел. Почему один и тот же поиск по разным индексам возвращает результаты с разными оценками? Результаты с разных серверов точно совпадают.
то есть. если я искал:
- Имя - Джон Смит
- DOB - 11/11/1934
Раздел 0 вернет оценку 0.345
Раздел 1 вернет оценку 0.337
Оба соответствуют точно по имени и DOB.
Ответы
Ответ 1
scoring содержит частоту обратных документов (IDF). Если термин "Джон Смит" находится в одном разделе, 0, 100 раз и в разделе 1, один раз. Оценка для поиска Джона Смита была бы более высоким поиском в разделе 1, поскольку этот термин более скуден.
Чтобы обойти это, вы бы увядали, чтобы ваш индекс находился над всеми разделами, или вам нужно переопределить IDF.
Ответ 2
Потому что оценка определяется по индексу, если я не ошибаюсь.
Если у вас разные индексы (больше/меньше или разные данные, которые были проиндексированы), оценка будет отличаться:
http://lucene.apache.org/core/3_6_0/scoring.html
(Предупреждение: содержит математику: -))
Ответ 3
Вы также можете быть заинтересованы в выходе explain()
method, а в результате Explanation
object, который даст вам представление о том, как вещи оцениваются так, как они есть.