在搜索期间计算lucene分数的哪一部分?

在搜索期间计算lucene分数的哪一部分?,lucene,Lucene,我想了解lucene在搜索过程中表现出什么样的分数?我看到Lucene TermVector包含一堆统计信息,当我搜索一个术语时,如何在查询时计算分数 搜索期间是否使用TermVector及其统计信息?如果是,怎么做 该课程负责评分文件 A对文档进行迭代。它与a一起用于分配分数,并根据这些分数对文档进行排序。记分器实例计算特定条件下的分数。有十几种不同的得分手。例如,TermScorer按如下方式计算原始分数: getSimilarity().tf(f)*weightValue 权重值是从查询

我想了解lucene在搜索过程中表现出什么样的分数?我看到Lucene TermVector包含一堆统计信息,当我搜索一个术语时,如何在查询时计算分数

  • 搜索期间是否使用TermVector及其统计信息?如果是,怎么做

  • 该课程负责评分文件

    A对文档进行迭代。它与a一起用于分配分数,并根据这些分数对文档进行排序。记分器实例计算特定条件下的分数。有十几种不同的得分手。例如,TermScorer按如下方式计算原始分数:

    getSimilarity().tf(f)*weightValue
    

    权重值是从查询中派生的。如果在索引时启用规范化(以便查询之间的分数或多或少具有可比性),则在此之后应用规范化。标准化因子是预先计算和缓存的。

    其明显的相似性类别是执行评分,我在寻找一个具体的细节,评分是如何在搜索过程中发生的,例如:“猫狗”,评分的流程是什么,索引信息/统计数据是如何利用的?Lucene使用的公式在类似的javadoc页面上有详细描述,包括如何处理多术语查询。如果您对所有这些机器的实现感兴趣,请查看和类。总的来说,浏览Lucene代码是一个好主意。我已经通过Lucene代码完成了部分内容,但我感到困惑,谢谢你的回答。我正在寻找一些专家来提供清晰的答案。如果你的问题更具体,我想答案会更清楚。