Lucene.NET中的分组搜索

本文关键字:搜索 NET Lucene | 更新日期: 2023-09-27 17:51:05

我想将以下Lucene文档的分组搜索示例转移到。net。我正在使用Lucene。. NET版本3.0.3.0:

GroupingSearch groupingSearch = new GroupingSearch("author");
groupingSearch.setGroupSort(groupSort);
groupingSearch.setFillSortFields(fillFields);
if (useCache) {
  // Sets cache in MB
  groupingSearch.setCachingInMB(4.0, true);
}
if (requiredTotalGroupCount) {
  groupingSearch.setAllGroups(true);
}
TermQuery query = new TermQuery(new Term("content", searchTerm));
TopGroups<BytesRef> result = groupingSearch.search(indexSearcher, query, groupOffset, groupLimit);
// Render groupsResult...
if (requiredTotalGroupCount) {
  int totalGroupCount = result.totalGroupCount;
}

据我所知,分组搜索并没有在Lucene.NET中实现。

a)正确吗?b)如果是,如何建立一个替代方案?

Lucene.NET中的分组搜索

如果可能的组的数量不是很大,你可以使用分面搜索,它在Lucene实现。Net 3.0。https://cwiki.apache.org/confluence/display/LUCENENET/Simple+Faceted+Search默认限制是2048个facet(组)。您可以增加它,但这会增加内存使用