当前位置:首页 > 开发 > 开源软件 > 正文

Lucene 评分机制

发表于: 2012-04-02   作者:allenson933   来源:转载   浏览:
摘要:            lucene为每个与Query匹配的文档都赋予了一个分数,用这个分数来表示文档与Query的相似度。lucene采用的公式和老师所说的最常用公式有点相似:          Σt in q (t f (t

 

         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()的使用方法。

Lucene 评分机制

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号