你的位置:首页 > 软件开发 > Java > 自定义评分器Similarity,提高搜索体验(转)

自定义评分器Similarity,提高搜索体验(转)

发布时间:2015-05-06 19:01:14
文章转自:http://blog.csdn.net/duck_genuine/article/details/6257540首先说一下lucene对文档的评分规则: score(q,d) = coord(q,d) · que ...

文章转自:http://blog.csdn.net/duck_genuine/article/details/6257540

首先说一下lucene对文档的评分规则:

 

score(q,d)   =   coord(q,d) ·  queryNorm(q) ·( tf(t in d) ·  idf(t)2 ·  t.getBoost() ·  norm(t,d) )

具体可以查看相关文章:http://blog.chenlb.com/2009/08/lucene-scoring-architecture.html

 

这里先考虑三个因素coord(q,d)与tf(t in d),当查询串中,命中的词越多,coord计算的值则越大,某个词在文档中出现的次数越多则tf的值越大。还有就是norm(t,d),这个主要是文档boost与字段boost的影响。值越大,对整体评分的影响越重。

首先说tf对搜索结果的影响:

这里是在于本站使用的搜索评分开始是默认的评分器的情况下,但发现有些不足之处。因为站内搜索主要是视频的标题与标签。对于一个视频文档来说,标题或者与标签重复的词本身就是无意义的,比如标题为"美女美女美女美女",标签为“美女”,如果让tf 的作用变大,明显示会使得它的评分更大,而其实并不是视频网站想要的效果。因为我们更想让它更加发散,这样,用户的点击率才会高。所以我们应该让所有命中词的文档的tf 不受频率的影响,使其tf=1.0f;如下自定义的评分器

 

 

 

 

[java] view plaincopy 

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:自定义评分器Similarity,提高搜索体验(转)

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录