【发布时间】:2013-05-23 00:06:32
【问题描述】:
我对 lucene 评分策略有点困惑。我知道Lucene的评分公式是这样的:
score(q,d) = coord(q,d) x queryNorm(q) X SUM <t_in_q> ( tf(t_in_d) x idf(t)^2 x t.getBoost() x norm(t,d))
除了 queryNorm(q) 之外,我了解此公式中的每个组成部分。正如官方文档所解释的,
queryNorm(q) 是一个标准化因子,用于在 查询可比。该因素不影响文档排名 (因为所有排序的文档都乘以相同的因子),但是 而只是尝试从不同的查询(甚至 不同的指标)具有可比性。
为什么我需要比较不同查询之间的分数?换句话说,您能否举一个示例来说明 queryNorm(q) 在哪种情况下有用?
【问题讨论】:
标签: search lucene search-engine