使用Lucene的Java版本,您将如何找出索引中的文档数?
2g32fytz1#
IndexReader包含您需要的方法,特别是numDocshttp://lucene.apache.org/core/3_6_0/api/all/org/apache/lucene/index/IndexReader.html#numDocs()
rggaifut2#
官方文件:http://lucene.apache.org/java/2_4_0/api/org/apache/lucene/index/IndexReader.html#numDocs()
qlckcl4x3#
使用java你可以找到这样的文档数量:
IndexReader reader = IndexReader.open(FSDirectory.open(indexDirectory)); System.out.println(reader.maxDoc()); //this will give ya what you need.
6ju8rftf4#
对于使用IndexReader的最新Lucene版本,下面的Kotlin代码片段可以完成这项工作:
DirectoryReader.open(directory).use { reader -> println(reader.numDocs()) }
其中directory是包含索引的Directory的示例。
directory
jk9hmnmh5#
在使用Hibernate搜索时,可以通过Hibernate搜索API获取Lucene IndexReader示例,然后使用前面的答案中提到的reader.numDocs()。
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();
5条答案
按热度按时间2g32fytz1#
IndexReader包含您需要的方法,特别是numDocs
http://lucene.apache.org/core/3_6_0/api/all/org/apache/lucene/index/IndexReader.html#numDocs()
rggaifut2#
官方文件:http://lucene.apache.org/java/2_4_0/api/org/apache/lucene/index/IndexReader.html#numDocs()
qlckcl4x3#
使用java你可以找到这样的文档数量:
6ju8rftf4#
对于使用IndexReader的最新Lucene版本,下面的Kotlin代码片段可以完成这项工作:
其中
directory
是包含索引的Directory的示例。jk9hmnmh5#
在使用Hibernate搜索时,可以通过Hibernate搜索API获取Lucene
IndexReader
示例,然后使用前面的答案中提到的reader.numDocs()
。