使用 Java 版本的 Lucene,如何找出索引中的文档数?
James
问问题
10831 次
5 回答
17
IndexReader 包含您需要的方法,特别是 numDocs
http://lucene.apache.org/core/3_6_0/api/all/org/apache/lucene/index/IndexReader.html#numDocs()
于 2009-01-14T11:05:18.353 回答
4
使用 java 你可以找到这样的文件数量:
IndexReader reader = IndexReader.open(FSDirectory.open(indexDirectory));
System.out.println(reader.maxDoc()); //this will give ya what you need.
于 2012-12-25T09:54:25.333 回答
3
于 2009-01-14T11:31:35.603 回答
0
使用 Hibernate Search 时,可以IndexReader
通过 Hibernate Search API 获取一个 Lucene 实例,然后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();
于 2017-01-31T08:07:16.103 回答
0
对于使用IndexReader的最新 Lucene 版本,以下 Kotlin 片段可以完成这项工作:
DirectoryReader.open(directory).use { reader ->
println(reader.numDocs())
}
其中directory
是包含索引的Directory实例。
于 2021-11-21T12:48:41.057 回答