0

我使用 Lucene 实现了分面搜索。我有一个文档索引和一个分类索引。然后我为给定的分类级别收集方面。

我的问题是:如何获得在给定分类法类别中索引的文档数量?

我认为我的问题很简单,但我在 Lucene 的 API 中找不到任何方法,也没有在 Google 中搜索。numDocs()我只找到了如何使用类的方法获取整个索引中的文档数IndexReader

4

2 回答 2

1

如果索引中的每个类别都有一个术语,也许您可​​以使用类似TermEnum.docFreq()的东西?您可以从IndexReader.terms(Term)获取 TermEnum 对象。

于 2012-10-17T20:45:42.147 回答
0

我对您的索引结构知之甚少,无法为您建议正确的查询,但是如果您执行查询以搜索您类别中的所有文档,则返回的结果集通常会包含总数的计数查询的命中。

例如,如果您使用以下任一方式进行查询:

search(Query query, int n)
search(Query query, Filter filter, int n) 

然后你会得到一个TopDocs对象,你可以从中得到总的命中数:TopDocs.totalHits

于 2012-10-17T17:12:16.243 回答