Class AllGroupHeadsCollectorManager<T>
java.lang.Object
org.apache.lucene.search.grouping.AllGroupHeadsCollectorManager<T>
- Type Parameters:
T- the type of the group value
- All Implemented Interfaces:
CollectorManager<AllGroupHeadsCollector<T>,AllGroupHeadsCollectorManager.GroupHeadsResult>
public class AllGroupHeadsCollectorManager<T>
extends Object
implements CollectorManager<AllGroupHeadsCollector<T>,AllGroupHeadsCollectorManager.GroupHeadsResult>
A
CollectorManager implementation for AllGroupHeadsCollector that collects the
most relevant document (group head) for each group across multiple segments and merges the
per-segment results into a single AllGroupHeadsCollectorManager.GroupHeadsResult.
Example usage:
IndexSearcher searcher = ...; // your IndexSearcher
AllGroupHeadsCollectorManager<BytesRef> manager =
new AllGroupHeadsCollectorManager<>(
() -> new TermGroupSelector("category"), Sort.RELEVANCE);
GroupHeadsResult result = searcher.search(new MatchAllDocsQuery(), manager);
Bits groupHeadsBits = result.retrieveGroupHeads(searcher.getIndexReader().maxDoc());
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classHolds the merged group heads and provides access as anint[]orBits. -
Constructor Summary
ConstructorsConstructorDescriptionAllGroupHeadsCollectorManager(Supplier<GroupSelector<T>> groupSelectorFactory, Sort sortWithinGroup) Creates a new AllGroupHeadsCollectorManager. -
Method Summary
-
Constructor Details
-
AllGroupHeadsCollectorManager
public AllGroupHeadsCollectorManager(Supplier<GroupSelector<T>> groupSelectorFactory, Sort sortWithinGroup) Creates a new AllGroupHeadsCollectorManager.- Parameters:
groupSelectorFactory- factory to create group selectors for each collectorsortWithinGroup- the sort to use within each group to determine the group head
-
-
Method Details
-
newCollector
- Specified by:
newCollectorin interfaceCollectorManager<AllGroupHeadsCollector<T>,AllGroupHeadsCollectorManager.GroupHeadsResult> - Throws:
IOException
-
reduce
public AllGroupHeadsCollectorManager.GroupHeadsResult reduce(Collection<AllGroupHeadsCollector<T>> collectors) - Specified by:
reducein interfaceCollectorManager<AllGroupHeadsCollector<T>,AllGroupHeadsCollectorManager.GroupHeadsResult>
-