繁体   English   中英

查找lucene索引中的文档数

[英]Finding the number of documents in a lucene index

使用 Lucene 的 Java 版本,您将如何找出索引中的文档数量?

使用java你可以找到这样的文档数:

IndexReader reader = IndexReader.open(FSDirectory.open(indexDirectory));
System.out.println(reader.maxDoc()); //this will give ya what you need.

使用Hibernate Search时,可以通过Hibernate Search API获取Lucene IndexReader实例,然后使用前面提到的答案中提到的reader.numDocs()

FullTextEntityManager fullTextEntityManager = org.hibernate.search.jpa.Search.getFullTextEntityManager(get‌​EntityManager());
IndexReader reader = fullTextEntityManager.getSearchFactory().getIndexReaderAcces‌​sor().open(MyEntity1‌​.class, MyEntity2.class ...);
int numDocs = reader.numDocs();

在最近使用IndexReader的 Lucene 版本中,以下 Kotlin 片段可以完成这项工作:

DirectoryReader.open(directory).use { reader ->
    println(reader.numDocs())
}

其中directory是包含索引的Directory 的一个实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM