【问题标题】:Lucene - get document ids from termLucene - 从术语中获取文档 ID
【发布时间】:2013-01-30 02:46:07
【问题描述】:

在 Lucene 4.1 中,我看到您可以使用 DirectoryReader.docFreq() 来获取包含给定术语的索引中的文档数。有没有办法真正获得这些文件?对象或 ID 号都可以。我认为 AtomicReader.termDocsEnum() 会很有用,但我不确定我是否可以使用 AtomicReader - 我不知道如何在给定目录上创建 AtomicReader 实例。

【问题讨论】:

    标签: java lucene


    【解决方案1】:

    为什么不直接搜索呢?

    IndexSearcher searcher = new IndexSearcher(directoryReader);
    TermQuery query = new TermQuery(new Term("field", "term"));
    TopDocs topdocs = searcher.query(query, numberToReturn);
    

    【讨论】:

    • 谢谢!这就像一个魅力。以供将来参考,从 topdocs 中获取文档 ID:int docId = topdocs.scoredocs[i].doc;
    猜你喜欢
    • 2012-02-14
    • 2016-06-18
    • 2010-11-20
    • 2018-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    相关资源
    最近更新 更多