ElasticSearch 评分机制

1. ElasticSearch6 评分机制

1.1. IDF

1
IDF = ln(1 + (docCount - docFreq + 0.5) / (docFreq + 0.5))

docCount:总文档数(在分片数=1的情况下是这样)

docFreq:满足本条term的查询文档数目(当前term召回的文档数)

IDF反映的是term的影响因子,如果docCount很大,docFreq很小,标示该term在doc之间具有很好的分辨力,当然IDF值也就越大

1.2. tfNorm

1
(freq * (k1 + 1)) / (freq + k1 * (1 - b + b * fieldLength / avgFieldLength))

freq: 当前term在当前doc的field中出现的次数
k1: 调优参数,默认为1.2
b: 调优参数,默认为0.75
fieldLength: 当前doc的field长度
avgFieldLength: 所有文档的field平均长度

tfNorm反映的该term在所有满足条件的doc中field中的重要性,一般来说,相同的freq下,field的长度越短,那么取值就越高

1.3. BM25

panchaoxin wechat
关注我的公众号
支持一下