elasticsearch 打分精度
admin
2023-07-29 21:20:05
0

elasticsearch 原文


What Is Relevance?edit

We’ve mentioned that, by default, results are returned in descending order of relevance. But what is relevance? How is it calculated?


The relevance score of each document is represented by a positive floating-point number called the _score. The higher the _score, the more relevant the document.


所以,elasticsearch中分数是 浮点类型的 。


IEEE 754

这里就不细说什么是IEEE 754了,就直接讲具体内容,有兴趣的可以自己百度。

float

符号位(S):1bit  指数位(E):8bit  尾数位(M):23bit


float的尾数:23位,其范围为:0~223,而223=8388608,所以float的精度为6~7位,能保证6位为绝对精确,7位一般也是正确的,8位就不一定了(但不是说8位就绝对不对了)


那为什么elasticsearch 要用float呢,看了一下源代码 FiltersFunctionFactorScorer 类

elasticsearch 打分精度



看到computeScore 还是double 类型的,但是 return scoreCombiner.combine 却变成了float,

elasticsearch 打分精度


继续看

elasticsearch 打分精度


可见,进行了强转,那如果要修改为double 该如何操作呢,FiltersFunctionFactorScorer 继承了FilterScorer

elasticsearch 打分精度


而FilterScorer 的包为org.apache.lucene.search,可见是因为lucene 的打分是float,所以elasticsearch 的打分也只能是float,谁让elasticsearch 是基于lucene 的呢。所以你如果要修改分数为double类型,最根源还是要修改lucene 的源代码。网上有人对lucene 做了一个patch,但还没有尝试。地址为:https://issues.apache.org/jira/browse/LUCENE-5596。


我目前用的elasticsearch 的版本是5以下, 或许后续的版本会修复这个问题。

所以如果打分因子范围过亿,恭喜你,分数已经已经不准了。

相关内容

热门资讯

唐驳虎丨250岁的美国,为何还... 作者丨唐驳虎核心提要1. 美国迎来独立250周年国庆,多地举行盛大庆典,特朗普高调宣示“美国再次伟大...
泰山刀片网被质疑影响动物迁徙,... 近日,泰山周边设立135公里刀片铁丝网,引发公众广泛关注。有网友认为此举阻碍野生动物迁徙,对生态环境...
“基本上赶不走”,玉树牧民称牦... 6月30日凌晨,青海玉树某乡一牧民饲养的牦牛被藏马熊袭击咬死。7月4日,当地牧民告诉潇湘晨报晨视频记...
中年男人的“败家三件套”,观鸟... 一种新型成瘾,正在男人中蔓延。他们凌晨四点起床、背着几十斤装备钻进公园和郊野,消失在树丛和芦苇荡中,...
俄乌继续互相发动大规模袭击 据俄罗斯和乌克兰方面消息,当地时间3日晚至4日凌晨,俄乌双方针对对方目标发动大规模袭击。
以色列人质俘虏期间遭医护折磨,... 7 月 4 日消息,2023 年 10 月 7 日以色列音乐节惨案的幸存者玛雅,时隔多年公开讲述了自...
空调遥控器pmv是什么意思 空调遥控器PMV是人体智能舒适系统,是空调的一种模式,在这种模式下空调可以自动调节室内的温度、湿度等...
空调遥控器上的图标都是什么意思 1、三角形符号代表自动模式,空调会根据室内温度高低自动进行制冷或制热工作。2、太阳符号代表制热模式空...
美的空调变频p4是什么故障 变频挂机显示p4是室内主板与显示板通讯故障或除尘复位故障;定速挂机显示p4是过滤网复位故障;定速柜机...
美的空调显示p4是什么故障代码 P4指的是室内蒸发器保护关压缩机,代表美的空调出现了室内蒸发器保护,是因为美的空调的传感器发生了故障...