使用Java如何找出lucene索引中的文档数量?
答案 0 :(得分:15)
IndexReader包含您需要的方法,特别是numDocs
http://lucene.apache.org/core/3_6_0/api/all/org/apache/lucene/index/IndexReader.html#numDocs()
答案 1 :(得分:3)
答案 2 :(得分:3)
使用java你可以找到这样的文档数量:
IndexReader reader = IndexReader.open(FSDirectory.open(indexDirectory));
System.out.println(reader.maxDoc()); //this will give ya what you need.
答案 3 :(得分:0)
使用Hibernate Search时,可以通过Hibernate Search API获取Lucene IndexReader
实例,然后使用前面提到的答案中提到的reader.numDocs()
。
FullTextEntityManager fullTextEntityManager = org.hibernate.search.jpa.Search.getFullTextEntityManager(getEntityManager());
IndexReader reader = fullTextEntityManager.getSearchFactory().getIndexReaderAccessor().open(MyEntity1.class, MyEntity2.class ...);
int numDocs = reader.numDocs();