是否有任何算法可以将Elasticsearch中搜索的max_score转换为百分比分数?请提出一些建议。
最佳答案
得分值(加上所得的max_score
)是任意的,并且不一定(通常也不是)在0 <= x <= 1的区间内。得分很容易就是420
或Integer.MAX_VALUE
。
话虽如此,为了计算百分比,您需要一个分母。您示例中2.7050
的最高分可以视为2.7%,但如果其他查询的分数在数百范围内且分母为1000,则也可以视为0.27%。
因此,后处理的意思是,当您从ES收到对在哪里运行查询(后端/前端/ ...)的响应时,您需要知道分母,然后才能确定百分比。没有必要将此类功能直接存在于ES中。
关于algorithm - 将Elasticsearch中的max_score字段转换为百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62901099/