如何规范Lucene分数?

ane*_*yzm 8 lucene normalization

我需要将Lucene得分标准化为0到1之间.

例如,随机查询返回以下分数......

8.864665
2.792687
2.792687
2.792687
2.792687
0.49009037
0.33730242 
0.33730242 
0.33730242 
0.33730242 
Run Code Online (Sandbox Code Playgroud)

得分最高的是什么?10.0?

谢谢

nik*_*500 10

您可以使用最高分数划分所有分数,以获得0到1之间的分数.

但请注意,标准化分数应仅用于比较单个查询的结果.比较来自2个不同查询的结果的分数(标准化或不标准化)是不正确的.


mor*_*rja 5

没有很好的标准方法来使用lucene来标准化分数.阅读本文:ScoresAsPercentages和这个解释

在您的情况下,如果结果按分数排序,则最高分数是第一个结果的分数.但是这个分数对于其他每个查询都会有所不同.

另请参阅how-do-i-normalize-a-solr-lucene-score