首页 / 知识

关于搜索:Lucene 评分结果

2023-04-11 13:32:00

关于搜索:Lucene 评分结果

Lucene Score results

在 Lucene 中,如果您有多个索引,每个索引仅覆盖一个分区。为什么在不同的索引上进行相同的搜索会返回不同分数的结果?来自不同服务器的结果完全匹配。

即如果我搜索:

  • 姓名 - 约翰·史密斯
  • 出生日期 - 11/11/1934

分区 0 将返回 0.345 的分数

分区 1 将返回 0.337 的分数

两者在姓名和出生日期上完全匹配。


评分包含逆文档频率 (IDF)。如果术语"John Smith"在一个分区中,则为 0 次,则为 100 次,在分区 1 中为一次。搜索 John Smith 的分数会在分区 1 中搜索更高,因为该术语更稀缺。

要解决这个问题,您必须让索引覆盖所有分区,否则您需要覆盖 IDF。


因为如果我没有完全弄错的话,分数是在索引上确定的。

如果你有不同的索引(更多/更少或不同的数据被索引),分数会有所不同:

http://lucene.apache.org/core/3_6_0/scoring.html

(警告:包含数学:-))


您可能还对 explain() 方法的输出和结果 Explanation 对象感兴趣,这将使您了解事物的评分方式。


搜索索引服务器覆盖

最新内容

相关内容

热门文章

推荐文章

标签云

猜你喜欢