【问题标题】:boosting a term in lucene's query在 lucene 的查询中提升一个术语
【发布时间】:2011-09-28 00:44:13
【问题描述】:

我想知道 lucene 查询中何时提升一个术语,分数如何变化? 我的意思是当查询有一个或多个提升的词时,lucene 对文档进行评分的评分算法是什么?

【问题讨论】:

    标签: lucene scoring


    【解决方案1】:

    您可以在这里找到完整的答案:

    http://lucene.apache.org/java/2_4_0/api/org/apache/lucene/search/Similarity.html

    ∑   ( tf(t in d)  ·  idf(t)^2  ·  t.getBoost() ·  norm(t,d) )
    

    查询中的每一个词都被总结为

    • 文档中一个查询词的词频
    • 2 次方的逆文档频率(如果适用,此处的字段类型及其属性很重要)
    • 提升就是你的要求
    • 以及 d 中术语 t 的规范(如果适用,可以在架构中禁用)

    简单的答案是乘以权重。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多