Class GroupReducer<T,C extends Collector>
- java.lang.Object
-
- org.apache.lucene.search.grouping.GroupReducer<T,C>
-
- Type Parameters:
T- the type of the value used for groupingC- the type ofCollectorused to reduce each group
public abstract class GroupReducer<T,C extends Collector> extends Object
Concrete implementations of this class define what to collect for individual groups during the second-pass of a grouping search.Each group is assigned a Collector returned by
newCollector(), andLeafCollector.collect(int)is called for each document that is in a group- See Also:
SecondPassGroupingCollector
-
-
Constructor Summary
Constructors Constructor Description GroupReducer()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidcollect(T value, int doc)Collect a given document into a given groupCgetCollector(T value)Get the Collector for a given groupabstract booleanneedsScores()Whether or not this reducer requires collected documents to be scoredprotected abstract CnewCollector()Creates a new Collector for each groupvoidsetGroups(Collection<SearchGroup<T>> groups)Define which groups should be reduced.voidsetNextReader(LeafReaderContext ctx)Called when the parentSecondPassGroupingCollectormoves to a new segmentvoidsetScorer(Scorable scorer)Set the Scorer on all group collectors
-
-
-
Method Detail
-
setGroups
public void setGroups(Collection<SearchGroup<T>> groups)
Define which groups should be reduced.Called by
SecondPassGroupingCollector
-
needsScores
public abstract boolean needsScores()
Whether or not this reducer requires collected documents to be scored
-
newCollector
protected abstract C newCollector()
Creates a new Collector for each group
-
collect
public final void collect(T value, int doc) throws IOException
Collect a given document into a given group- Throws:
IOException- on error
-
setScorer
public final void setScorer(Scorable scorer) throws IOException
Set the Scorer on all group collectors- Throws:
IOException
-
setNextReader
public final void setNextReader(LeafReaderContext ctx) throws IOException
Called when the parentSecondPassGroupingCollectormoves to a new segment- Throws:
IOException
-
-