我正在使用Lucene 4.10.4。我想以有效的方式从20个不同的领域中取“n个结果”而不搜索20次。如果我使用布尔查询进行搜索,我们可能会在单次搜索中获得所有结果。我想根据字段对结果进行分组,是否有任何分组概念?
答案 0 :(得分:0)
是的,有: http://lucene.apache.org/core/4_10_4/grouping/org/apache/lucene/search/grouping/package-summary.html
但是在较新的版本中,它仅适用于DocValues,因此您必须再次将该字段添加为DocValue才能对其进行分组。 (但也许在4.10它仍然适用于FieldCache,但我不熟悉它)
您可以使用GroupingSearch
或BlockGroupingCollector
每个组包含多个元素,并指定在组中如何排序结果。
您必须包含lucene-grouping
依赖项才能使用它。