我对 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)在哪个上下文中有用吗?