中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

elasticsearch 打分精度

發布時間:2020-06-13 04:41:01 來源:網絡 閱讀:1117 作者:大海之中 欄目:開發技術

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以下, 或許后續的版本會修復這個問題。

所以如果打分因子范圍過億,恭喜你,分數已經已經不準了。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黎平县| 赣州市| 五莲县| 浑源县| 邯郸县| 新竹市| 内乡县| 兴海县| 铁岭市| 弋阳县| 庄浪县| 高雄县| 抚远县| 驻马店市| 泾阳县| 突泉县| 洛宁县| 青川县| 新疆| 曲松县| 迭部县| 镇原县| 大英县| 武城县| 黑山县| 平山县| 皮山县| 五指山市| 琼结县| 京山县| 闽侯县| 蚌埠市| 三江| 株洲县| 台北市| 德阳市| 太仆寺旗| 波密县| 黑山县| 炎陵县| 建水县|