我已经通过 lucene 索引了一组文本文件。另外,我还存储了 TermVector。但我想知道某些文档中某些术语在 O(1) 中出现的频率。可能吗?
我的意思是,是否有一个函数(Term term, Integer docNum)返回term的频率在文档docNum中?
最佳答案
没有现成的功能,您必须编写一些代码。首先使用 IndexReader.termDocs(Term)。这将为您提供一个 TermDocs 实例,它通常是 Lucene 的一个类似 Cursor 的对象。现在调用 TermDocs.skipTo(int),然后调用 TermDocs.next(),然后调用 TermDocs.freq()。如果您一开始就确定您的文档包含您的术语,那么就是这样;否则在每个步骤后检查是否可以继续。 Javadoc 对于所涉及的每个步骤都编写得很好。
关于java - 文档中术语的出现频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9659569/