使用不同搜索空间大小的不同 lucene 搜索结果
我有一个使用 lucene 进行搜索的应用程序。搜索空间有数千个。在这数千个搜索中,我只得到了一些结果,大约 20 个(这是正常的并且是预期的)。
然而,当我将搜索空间减少到只有那 20 个条目时(即我只对这 20 个条目建立索引并忽略其他所有内容......这样开发会更容易),我得到相同的 20 个结果,但顺序不同(和评分) 。
我尝试通过 Field#setOmitNorms(true) 禁用范数因子,但仍然得到不同的结果?
是什么导致了评分的差异?
谢谢
I have an application that uses lucene for searching. The search space are in the thousands. Searching against these thousands, I get only a few results, around 20 (which is ok and expected).
However, when I reduce my search space to just those 20 entries (i.e. I indexed only those 20 entries and disregard everything else...so that development would be easier), I get the same 20 results but in different order (and scoring).
I tried disabling the norm factors via Field#setOmitNorms(true), but I still get different results?
What could be causing the difference in the scoring?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请参阅 Lucene 的 相似度中的评分文档API。我的赌注是两种情况之间 idf 的差异(numDocs 和 docFreq 都不同)。为了确定,请使用 explain() 函数来调试分数。
编辑:用于获取解释的代码片段:
Please see the scoring documentation in Lucene's Similarity API. My bet is on the difference in idf between the two cases (both numDocs and docFreq are different). In order to know for sure, use the explain() function to debug the scores.
Edit: A code fragment for getting explanations:
评分取决于索引中的所有文档:
来源:Apache Lucene - 评分
Scoring depends on all the documents in the index:
Source: Apache Lucene - Scoring