查找lucene索引中的文档数

使用Java如何找出lucene索引中的文档数量?

官方文档: http : //lucene.apache.org/java/2_4_0/api/org/apache/lucene/index/IndexReader.html#numDocs()

使用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();