繁体   English   中英

Lucene搜索评分问题

[英]Lucene search scoring issue

我有两个索引是从目录“ test1”和“ test2”创建的。 “test1”目录有“file1.java”,而“test2”有两个文件“file1.java”和“file2.java”。 “file1.java”在两个目录中都是相同的。 令索引分别为index1和index2。

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

为什么分数不同? 在Lucene中有什么索引可以强迫得分相同的方法吗?

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

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

如果您愿意,您当然可以使用任何相似的实现,或者自己创建一个实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM