es简述(二)

最近一直在研究怎么设置一个自己的分词器但效果不是特别明显,有时间还是可以再看

https://www.jianshu.com/p/11df87b6e8ce    (光是java的环境配置,idea设置我都没搞好,还是只看了逻辑,还有点想法)

分词目前也就增加和修改词典会快点,毕竟java忘得差不多了。。。

咳,说一下这次要说的

关于es搜索出来的匹配度会有一个评分,之前觉得这个评分有点东西,也没注意,后来发现只用评分来区别相近程度有点问题,我就找了一下资料:

涉及评分的属性也就下面的,不知道全不全

文档加权:熟悉es的人都知道权值是个好东西,毕竟在你做搜索的时候优先度比较高,那么在对文档建立索引时,可以对文档加权值,提高查询级别

字段加权:查询和索引时,对字段的加权值

协调:基于文档词条数的协调因子。对包含更多查询词条的文档,它提供更大的值,实际上就是一句话包含的字数越多或者词条中包含对应的词量越大,就越高

逆文档频率:基于词条的因子,它告诉评分公式,给定词条出现的频率有多低。逆文档频率越高,词条越罕见。这一项就有点意思了,个人理解也就是出现频率越低,评分反而越高,细节请查看百度百科https://baike.baidu.com/item/%E9%80%86%E6%96%87%E6%A1%A3%E9%A2%91%E7%8E%87/11018305?fr=aladdin

长度规范: 基于字段的规范化因子,它基于给定字段包含的字条数目。字段越长,该因子给的加权值越小。这基本上意味着更短的文档更受分数的青睐(这个要画重点,词典要考)

词频:基于词条的因子,描述给定词条在文档中出现的次数,词频越高,文档的得分越高。这个是不是和逆文档频率冲突了我纠结了好久,个人觉得是的还要再论就

查询规范:基于查询的规范化因子,由每个查询词条比重的平方之和计算而成。查询规范用于查询之间的得分比较,但这并一定很容易,有时甚至做不到。

 

看过以后身为一个高数不及格的人我头皮发麻。

实际上也简单,为了调整查询相关性,你不需要记住这个等式的细节,但至少要知道它是如何工作的。我们可以看到,文档的评分因子是查询q和文档d的一个函数。还有两个不直接依赖于查询词条的因子, coord和queryNorm。公式中这两个元素跟查询中的每个词计算而得的总和相乘。另一方面,该总和由给定词的词频、逆文档频率、词条加权和规范相乘而来,其中的规范就是我们前面讨论过的长度规范。

综上所述,不需要记住全部内容。应该知道的是影响文档评分的因素。下面是一 些派生自上述等式的规则:

匹配的词条越罕见,文档的得分越高;
文档的字段越小,文档的得分越高;
字段的加权越高,文档的得分越高;
我们可以看到,文档匹配的查询词条数目越高、字段越少(意味着索引的词条越少),
Lucene 给文档的分数越高。同时,罕见词条比常见词条更受评分的青睐。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值