1

我在用 Lucene 做一个应用程序(我是一个菜鸟)并且我面临一些问题。我的应用程序使用具有自定义相似性实现的 Lucene 2.4.0 库(导入了 jar)

在我的应用程序中,我手动计算 doqFreq 和 numDocs (我添加所有索引的值,然后我计算一个全局值以便在每个查询中使用它)并且我想在自定义相似性实现中使用该值以计算新的以色列国防军。

问题是我不知道如何在新的相似性实现上使用(或发送)我的应用程序中的新 doqFreq 和 numDocs 值,因为我不想在这个额外的类之外更改 lucene 的代码。

有什么建议或例子吗?我阅读了文档,但我现在不知道如何解决这个问题:s

谢谢

4

1 回答 1

1

您可以尝试扩展 IndexReader 并覆盖 IndexReader.docFreq() 和 IndexReader.numDocs()。在此子类型中,您可以提供您正在手动计算的内容。我不确定是否还有其他依赖于这些值的 Lucene 组件,因此您可能需要在这里小心行事。

于 2010-04-05T18:04:16.590 回答