Class DistinctValuesCollectorManager<T,R>
java.lang.Object
org.apache.lucene.search.grouping.DistinctValuesCollectorManager<T,R>
- All Implemented Interfaces:
CollectorManager<DistinctValuesCollector<T,R>, List<DistinctValuesCollector.GroupCount<T, R>>>
public class DistinctValuesCollectorManager<T,R>
extends Object
implements CollectorManager<DistinctValuesCollector<T,R>,List<DistinctValuesCollector.GroupCount<T,R>>>
A
CollectorManager implementation for DistinctValuesCollector that supports
parallel collection and merges results by taking the union of distinct values per group across
segments.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Constructor Summary
ConstructorsConstructorDescriptionDistinctValuesCollectorManager(Supplier<GroupSelector<T>> groupSelectorFactory, Collection<SearchGroup<T>> searchGroups, Supplier<GroupSelector<R>> valueSelectorFactory) Creates a new DistinctValuesCollectorManager. -
Method Summary
-
Constructor Details
-
DistinctValuesCollectorManager
public DistinctValuesCollectorManager(Supplier<GroupSelector<T>> groupSelectorFactory, Collection<SearchGroup<T>> searchGroups, Supplier<GroupSelector<R>> valueSelectorFactory) Creates a new DistinctValuesCollectorManager.- Parameters:
groupSelectorFactory- factory to create group selectors for each collectorsearchGroups- the search groups from the first passvalueSelectorFactory- factory to create value selectors for each collector
-
-
Method Details
-
newCollector
- Specified by:
newCollectorin interfaceCollectorManager<T,R> - Throws:
IOException
-
reduce
public List<DistinctValuesCollector.GroupCount<T,R>> reduce(Collection<DistinctValuesCollector<T, R>> collectors) - Specified by:
reducein interfaceCollectorManager<T,R>
-