es Explain

在搜索时,可以开启评分说明”explain”: true,请求响应中每个命中的文档会额外返回一个得分说明字段_explanation



https://blog.csdn.net/jacksonary/article/details/84109297



是什么是相关性算分?



相关性算分描述了一个文档和查询语句的匹配程度,ES 会对查询到的每个文档进行打分,打分的本质就是排序
ES5 之前默认的相关性打分采用 TF-IDF 算法,TF-IDF 是信息检索领域最重要的发明,现代搜索引擎都对 TF-IDF 做了大量细微的优化
ES6 之后开始采用 BM25 算法(对 TF-IDF 的改进),当 TF 无限增加时, BM 25 算法会使之趋于一个稳定的数值
在 ES 中查询加上 explain=true 可以查看当前查询是如何打分的
影响相关性算分的几个因子:



  1. 词频-TF(Term Frequency):检索词在一篇文档中出现的频率,频率越高,权重越大

  2. 文档频率-DF(Document Frequency)- 检索词出现的文档数量占总文档数量的比重,DF 越大,出现的文档数越多,说明对应用意义越小,该词的相关性也就越小,
    比如 “and”, “is” 这些词出现非常频繁,用户反而不关心

  3. 逆向文档频率-IDF(Inverse document frequency)- 因为 DF 的值算出来结果范围会非常大,为了减少 DF 对打分的影响,引入了 IDF,其实就是对 DF 取对数来减少打分影响

  4. 字段长度(Field-length)- 搜索的字段越短,相关性越高



https://zhuanlan.zhihu.com/p/104631505



https://blog.csdn.net/dm_vincent/article/details/42201789


Category storage