Да, оценка всегда будет в диапазоне от 0 до 1.
Когда Lucene вычисляет оценку, она находит индивидуальные оценки для попаданий по терминам в полях и т. Д. ... и суммирует их,Если общее попадание с наивысшим рейтингом превышает 1, все баллы документа нормализуются, чтобы составить от 0 до 1, а документ с наивысшим рейтингом имеет балл 1. Если, однако, ни один документ не был больше 1, нормализация не происходити результаты возвращаются как есть.Вот почему иногда верхний документ имеет балл 1, а в других случаях балл ниже 1.
РЕДАКТИРОВАТЬ: Проведя немного больше исследований, ответ скорее всего нет .В версии Lucene, с которой я знаком (v2.3.2), поиски проходят через объект Hits
, чей метод GetMoreDocs()
нормализует оценки, если какой-либо из них больше 1. В более поздних версиях кажется, что этодело не в том, что класс Hits
больше не используется.Будут ли ваши оценки между 0 и 1, будет зависеть от того, какую версию Lucene вы используете, и какой механизм используется для поиска.
Цитировать из списка рассылки Lucene :
Счет - произвольное число> 0. Он ни к чему не нормализован, его следует использовать только длянапример, сортировать результаты