博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《深入理解Elasticsearch(原书第2版)》一2.1.1 何时文档被匹配上
阅读量:5808 次
发布时间:2019-06-18

本文共 1045 字,大约阅读时间需要 3 分钟。

本节书摘来华章计算机《深入理解Elasticsearch(原书第2版)》一书中的第2章 ,第2.1。1节,[美]拉斐尔·酷奇(Rafal Ku) 马雷克·罗戈任斯基(Marek Rogoziski)著 张世武 余洪淼 商旦 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.1.1 何时文档被匹配上

一个文档被Lucene返回,意味着该文档与用户提交的查询是匹配的。在这种情况下,每个被返回文档会有一个得分。在某些场景下,所有文档的得分都一样(比如使用constant_score查询),不过一般情况下,各个文档的得分是不一样的。得分越高,文档更相关,至少从Apache Lucene及其评分公式的角度来看是这样的。得分还取决于匹配的文档、查询和索引内容,因此,很显然同一个文档对不同查询的得分是不同的。读者需要注意,同一文档在不同查询中的得分不具备可比较性,不同查询返回文档中的最高得分也不具备可比较性。这是因为文档得分依赖多个因子,除了权重和查询本身的结构,还依赖被匹配的词项数目、词项所在字段,以及用于查询规范化的匹配类型,如此等等。在一些比较极端的情况下,同一个文档在相似查询中的得分非常悬殊,仅仅是因为使用了自定义得分查询或者命中词项数的急剧变化。

现在,让我们再回到评分过程。为了计算文档得分,我们需要考虑以下这些因子。

  • 文档权重(document boost):索引期赋予某个文档的权重值。
  • 字段权重(field boost):查询期赋予某个字段的权重值。
  • 协调因子(coord):基于文档中词项个数的协调因子,一个文档命中了查询中的词项越多,得分越高。
  • 逆文档频率(inverse document frequency):一个基于词项的因子,用来告诉评分公式该词项有多么罕见。逆文档频率越高,词项就越罕见。评分公式利用该因子,为包含罕见词项的文档加权。
  • 长度范数(Length norm):每字段的基于词项个数的归一化因子(在索引期被计算并存储在索引中)。一个字段包含的词项数越多,该因子的权重越低,这意味着Apache Lucene评分公式更“喜欢”包含更少词项的字段。
  • 词频(Term frequency):一个基于词项的因子,用来表示一个词项在某个文档中出现了多少次。词频越高,文档得分越高。
  • 查询范数(Query norm):一个基于查询的归一化因子,它等于查询中词项的权重平方和。查询范数使不同查询的得分能互相比较,尽管这种比较通常是困难和不可行的。

转载地址:http://fxybx.baihongyu.com/

你可能感兴趣的文章
win8 关闭防火墙
查看>>
Android实例-录音与回放(播放MP3)(XE8+小米2)
查看>>
CSS——(2)与标准流盒模型
查看>>
MYSQL 基本SQL语句
查看>>
C#中的Marshal
查看>>
linux命令:ls
查看>>
Using RequireJS in AngularJS Applications
查看>>
hdu 2444(二分图最大匹配)
查看>>
shell编程笔记六:实现ll命令
查看>>
【SAP HANA】关于SAP HANA中带层次结构的计算视图Cacultation View创建、激活状况下在系统中生成对象的研究...
查看>>
[nodejs] nodejs开发个人博客(五)分配数据
查看>>
《Linux内核修炼之道》 之 高效学习Linux内核
查看>>
Java数据持久层框架 MyBatis之API学习九(SQL语句构建器详解)
查看>>
30分钟Git命令“从入门到放弃”
查看>>
nginx : TCP代理和负载均衡的stream模块
查看>>
MYSQL数据库间同步数据
查看>>
DevOps 前世今生 | mPaaS 线上直播 CodeHub #1 回顾
查看>>
iOS 解决UITabelView刷新闪动
查看>>
让前端小姐姐愉快地开发表单
查看>>
Dubbo笔记(四)
查看>>