Lucene 评分机制

 

         lucene为每个与Query匹配的文档都赋予了一个分数,用这个分数来表示文档与Query的相似度。lucene采用的公式和老师所说的最常用公式有点相似:

         Σt in q (t f (t in d ) *idf (t)* boost(t.field in d )* lengthNorm(t.field in d )) *coord(q,d )* queryNorm(q)

      其中,t表示termd表示documentq表示query。这个公式的一些含义如下:

1.      tf(t in d):表示t的词频,即特征词t在文档d中出现的次数

2.      idf(t): 反文献频率,这个应该大家都比较熟了。

3.      boost(t.field in d):这个在建立lucene索引的时候说过。对某个field的赋予的权重。

4.      lengthNormt.field in d:表示关键词t在文档d中所占的比重。在这里d中的关键词越少,代表t越重要。

5.      coord(q,d): 代表q中有多少个特征词在文档d中出现

6.      queryNorm(q): 代表q中每个特征词权值之和。

 

有些时候理解这些参数,以及为什么lucene要设置这样的评分机制,会有点困难,lucene比较人性化,提供了explain()方法使得用户可以更好的理解评分机制。

附件为explain()的使用方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值