我试图了解lucene在搜索过程中所执行的评分是什么?我看到Lucene TermVector包含大量统计数据,当我搜索一个术语时,如何在查询时间内计算得分?
在搜索过程中是否使用TermVector及其统计信息?如果是这样的话?
答案 0 :(得分:1)
Similarity班负责评分文件。
Collector遍历文档。它与Scorer结合使用以分配分数并按这些分数对文档进行排名。记分器实例计算特定条件下的分数。有十几种不同类型的得分手。例如,TermScorer计算原始分数如下:
getSimilarity().tf(f)*weightValue
权重值来自查询。如果在索引时打开规范化(以便查询之间的分数或多或少具有可比性),则在此之后应用规范化。标准化因子是预先计算和缓存的。