网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

elasticsearch打分精度-创新互联

elasticsearch 原文

创新互联公司提供成都网站建设、网站设计、网页设计,成都品牌网站建设广告投放等致力于企业网站建设与公司网站制作,10余年的网站开发和建站经验,助力企业信息化建设,成功案例突破上1000家,是您实现网站建设的好选择.

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以下, 或许后续的版本会修复这个问题。

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:elasticsearch打分精度-创新互联
当前链接:http://bjjierui.cn/article/djdocs.html

其他资讯