获取类别的文档数量

时间:2012-10-17 15:57:55

标签: java lucene faceted-search

我使用Lucene实现分面搜索。我有一份文件索引和一份分类索引。然后我收集给定级别的分类法的方面。

我的问题是:如何获取在分类标准的特定类别中编入索引的文档数量?

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我对您的索引结构不太了解,无法为您建议正确的查询,但如果您执行查询以搜索您的类别中的所有文档,那么返回的结果集通常会计算查询的总命中数。

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

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

然后您将获得一个TopDocs对象,您可以从中获取总点击次数:TopDocs.totalHits