Функция шкалы lucene-solr перезапускает minTarget, имея одинаковые оценки для всех элементов в наборе результатов - PullRequest
0 голосов
/ 08 ноября 2018

Я хочу нормализовать оценку для конкретного запроса относительно набора результатов для запроса и отфильтровать только более релевантные результаты на основе порога.

Я использую функцию шкалы для нормализации оценок результата, как показано ниже, и использую нормализованную оценку для фильтрации результатов, превышающих пороговое значение, с использованием функции диапазона

 "{!func}scale(query({!edismax v=$q}), 0, 100)" 

Если результат содержит ровно один элемент или несколько элементов с (scaleInfo.maxVal-scaleInfo.minVal == 0) с одинаковым счетом , функция масштабирования возвращает значение minTarget в качестве нормализованного значения. Поскольку значение меньше порогового значения, действительный результат может не появиться в конечном выводе.

В масштабе функции масштабирования рассчитывается как ноль для сценария (scaleInfo.maxVal-scaleInfo.minVal == 0)? 0) который я думаю, вопрос

final float scale = (scaleInfo.maxVal-scaleInfo.minVal==0) ? 0 : (max-min)/(scaleInfo.maxVal-scaleInfo.minVal);

Правильно ли приведенное выше использование шкалы (нормализации)? Правильно ли мое наблюдение по поводу функции масштабирования? Как мне справиться со сценарием? или это ошибка в функции масштабирования?

...