本文共 1045 字,大约阅读时间需要 3 分钟。
本节书摘来华章计算机《深入理解Elasticsearch(原书第2版)》一书中的第2章 ,第2.1。1节,[美]拉斐尔·酷奇(Rafal Ku) 马雷克·罗戈任斯基(Marek Rogoziski)著 张世武 余洪淼 商旦 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
一个文档被Lucene返回,意味着该文档与用户提交的查询是匹配的。在这种情况下,每个被返回文档会有一个得分。在某些场景下,所有文档的得分都一样(比如使用constant_score查询),不过一般情况下,各个文档的得分是不一样的。得分越高,文档更相关,至少从Apache Lucene及其评分公式的角度来看是这样的。得分还取决于匹配的文档、查询和索引内容,因此,很显然同一个文档对不同查询的得分是不同的。读者需要注意,同一文档在不同查询中的得分不具备可比较性,不同查询返回文档中的最高得分也不具备可比较性。这是因为文档得分依赖多个因子,除了权重和查询本身的结构,还依赖被匹配的词项数目、词项所在字段,以及用于查询规范化的匹配类型,如此等等。在一些比较极端的情况下,同一个文档在相似查询中的得分非常悬殊,仅仅是因为使用了自定义得分查询或者命中词项数的急剧变化。
现在,让我们再回到评分过程。为了计算文档得分,我们需要考虑以下这些因子。转载地址:http://fxybx.baihongyu.com/