【发布时间】:2013-01-30 02:46:07
【问题描述】:
在 Lucene 4.1 中,我看到您可以使用 DirectoryReader.docFreq() 来获取包含给定术语的索引中的文档数。有没有办法真正获得这些文件?对象或 ID 号都可以。我认为 AtomicReader.termDocsEnum() 会很有用,但我不确定我是否可以使用 AtomicReader - 我不知道如何在给定目录上创建 AtomicReader 实例。
【问题讨论】:
在 Lucene 4.1 中,我看到您可以使用 DirectoryReader.docFreq() 来获取包含给定术语的索引中的文档数。有没有办法真正获得这些文件?对象或 ID 号都可以。我认为 AtomicReader.termDocsEnum() 会很有用,但我不确定我是否可以使用 AtomicReader - 我不知道如何在给定目录上创建 AtomicReader 实例。
【问题讨论】:
为什么不直接搜索呢?
IndexSearcher searcher = new IndexSearcher(directoryReader);
TermQuery query = new TermQuery(new Term("field", "term"));
TopDocs topdocs = searcher.query(query, numberToReturn);
【讨论】:
int docId = topdocs.scoredocs[i].doc;