我需要将Lucene分数归一化,介于0和1之间。
例如,随机查询返回以下分数...
8.864665
2.792687
2.792687
2.792687
2.792687
0.49009037
0.33730242
0.33730242
0.33730242
0.33730242 最高分是多少? 10.0?
谢谢
发布于 2011-03-21 23:35:28
您可以将所有分数与最高分数相除,得到0到1之间的分数。
但是,请注意,归一化分数仅用于比较单个查询的结果。比较两个不同查询结果的分数(归一化或非归一化)是不正确的。
发布于 2011-03-21 23:24:46
使用lucene没有很好的标准化分数的标准方法。阅读:ScoresAsPercentages和这个explanation
在您的示例中,如果结果按分数排序,则最高分数是第一个结果的分数。但对于每个其他查询,此分数将是不同的。
发布于 2013-04-02 21:34:54
Solr没有最高分,它依赖于太多的变量,所以无法预测。
但是您可以实现不推荐的称为标准化分数(Scores As Percentages)的东西。
有关更多详细信息,请参阅相关链接:
how do I normalise a solr/lucene score?
Remove results below a certain score threshold in Solr/Lucene?
https://stackoverflow.com/questions/5379176
复制相似问题