Lucene搜索评分问题



我有两个从目录"test1"one_answers"test2"创建的索引。"test1"目录中有"file1.java",而"test2"中有两个文件"file1.java"one_answers"file2.java"。两个目录中的"file1.爪哇"是相同的。设索引分别为index1和index2。

现在,当我使用luke分析这两个索引时,我发现在index1中搜索的关键字的分数与在index2中生成的分数不同。此关键字仅存在于"file1.java"中。

为什么分数不同?在Lucene中有没有任何索引方法可以强制得分相同?

lucene中的分数允许您比较查询结果与单个查询的相关性。它们的设计不允许您比较不同索引之间或不同查询之间的结果,也不允许保存结果并将其与以后的运行进行比较。它们仅对返回的查询结果集和索引的当前状态有效。请参阅这篇关于Lucene分数百分比的文章,了解为什么以这种方式使用Lucene分数是一个坏主意

毕竟,Lucene是使用TF-IDF算法进行评分的。您应该期望IDF分数在具有更多内容的索引中有所不同。TFIDF相似性文档详细描述了评分算法。

如果你愿意的话,你当然可以使用许多相似性实现中的任何一个,或者自己创建一个实现。

最新更新