Я пытаюсь получить оценку на основе жаккарды с помощью Lucene.
Мне удалось получить количество терминов в каждом документе, и мне нужно только найти количество терминов в моем запросе, найденных в каждом документе.
При поиске Javadocs Люсена я наткнулся на
score.freq()
этот метод согласно Javadoc
Возвращает количество совпадений для текущего документа. Это возвращает
float (не int), потому что SloppyPhraseScorer обесценивает свою частоту
в зависимости от того, насколько «неряшливым» был матч.
Я тестирую его с очень простым документом, который я создал, который имеет следующий
кошка кошка кошка собака птица змея
Когда мой запрос: кошка, собака
я получаю Score.freq (), равный 2 (что является ожидаемым)
Когда мой запрос: кошка
я получаю очки.freq (), равные 3
Кто-нибудь знает, почему это происходит?
Протестировал его и с большими запросами, и я получил правильные результаты. Также, когда мой запрос был собака (который имеет частоту 1 в документе)
Я получил ожидаемый результат score.freq (), равный 1
Заранее спасибо за любой ответ!