读书笔记 | 《深入理解 Elasticsearch》
当一个文档经 Lucene 返回,则意味着该文档与用户提交的查询是匹配的。返回的文档中,有一个文档得分,得分越高,说明文档相关度越高。
文档得分依赖多个因子,除了权重和查询本身的结构,还包括匹配的词项数目,词项所在字段,以及用于查询规范化的匹配类型等。文档得分因子包括:
- 文档权重(document boost):索引期间赋予某个文档的权重值
- 字段权重(field boost):查询期间赋予某个字段的权重值
- 协调因子(coord):基于文档中词项命中个数的协调因子,一个文档命中了查询的词项越多,得分越高
- 逆文档频率(inverse document frequency):一个基于词项的因子,用来告诉评分公式该词项多么罕见。逆文档频率越低,词项越罕见。评分公式利用该因子为包含罕见词项的文档加权。
- 长度范数(legth norm):每个字段的基于词项个数的归一化因子(在索引期间计算出来并存储在索引中)。一个字段包含的词项数越多,该因子的权重越低,这就意味着 lucene 评分公式更“喜欢”包含更少词项的字段。
- 词频(term frequency):一个基于词项的因子,用来表示一个词项在某个文档中出现了多少次。词频越高,文档得分越高。
- 查询范数(query norm):一个基于查询的归一化因子,等于查询中词项的权重平方和。查询范数使不同查询的得分能相互比较,尽管这种比较通常是困难且不可行的。
关于信息检索方面的理论,看这一篇 网络信息检索(一)检索模型:布尔,向量,概率检索