Lucene numDocs 和 doqFreq 自定义相似度类
我正在使用 Lucene 进行应用程序(我是一个菜鸟),并且面临一些问题。 我的应用程序使用 Lucene 2.4.0 库和自定义相似实现(jar 已导入)
在我的应用程序中,我手动计算 doqFreq 和 numDocs(我添加所有索引的值,然后计算全局值以便在每个查询),我想在自定义相似性实现上使用该值来计算新的 IDF。
问题是我不知道如何在新的相似性实现上使用(或发送)我的应用程序中的新 doqFreq 和 numDocs 值,因为我不想更改除了这个额外的类之外的 lucene 代码。
有什么建议或例子吗?我阅读了文档,但我现在不知道如何解决这个问题:
谢谢
im doing an aplication with Lucene (im a noob with it) and im facing some problems.
My aplication uses the Lucene 2.4.0 library with a custom similaraty implementation (the jar is imported)
In my app im calculating doqFreq and numDocs manually (im adding the values of all indexes and then i calculate a global value in order to use it on every query) and i want to use that values on a custom similarity implementation in order to calculate a new IDF.
The problem is that I dont know how to use (or send) the new doqFreq and numDocs values from my app on that new similarty implementation as I dont want to change lucene´s code apart from this extra class.
Any suggestions or examples? I read the docs but i dont now how to aproach this :s
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以尝试扩展 IndexReader 并覆盖 IndexReader.docFreq() 和 IndexReader.numDocs()。在此子类型中,您可以提供您正在手动计算的信息。我不确定是否还有其他 Lucene 组件依赖于这些值,因此您可能需要在这里小心行事。
You can try extending IndexReader and overriding IndexReader.docFreq() and IndexReader.numDocs(). In this subtype you can supply that you are calculating manually. I'm not sure if there are other Lucene components that are dependent on those values, so you might want to tread carefully here.