Module org.apache.lucene.grouping
Class SecondPassGroupingCollector<T>
java.lang.Object
org.apache.lucene.search.SimpleCollector
org.apache.lucene.search.grouping.SecondPassGroupingCollector<T>
- All Implemented Interfaces:
Collector,LeafCollector
- Direct Known Subclasses:
DistinctValuesCollector,TopGroupsCollector
SecondPassGroupingCollector runs over an already collected set of groups, further applying a
GroupReducer to each group- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final GroupReducer<T, ?> protected final Collection<SearchGroup<T>> protected final GroupSelector<T> protected intprotected int -
Constructor Summary
ConstructorsConstructorDescriptionSecondPassGroupingCollector(GroupSelector<T> groupSelector, Collection<SearchGroup<T>> groups, GroupReducer<T, ?> reducer) Create a new SecondPassGroupingCollector -
Method Summary
Modifier and TypeMethodDescriptionvoidcollect(int doc) Called once for every document matching a query, with the unbased document number.protected voiddoSetNextReader(LeafReaderContext readerContext) This method is called before collectingcontext.Indicates what features are required from the scorer.voidCalled before successive calls toLeafCollector.collect(int).Methods inherited from class org.apache.lucene.search.SimpleCollector
getLeafCollectorMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.lucene.search.LeafCollector
collect, competitiveIterator, finish
-
Field Details
-
groupSelector
-
groups
-
groupReducer
-
totalHitCount
protected int totalHitCount -
totalGroupedHitCount
protected int totalGroupedHitCount
-
-
Constructor Details
-
SecondPassGroupingCollector
public SecondPassGroupingCollector(GroupSelector<T> groupSelector, Collection<SearchGroup<T>> groups, GroupReducer<T, ?> reducer) Create a new SecondPassGroupingCollector- Parameters:
groupSelector- the GroupSelector that defines groups for this searchgroups- the groups to collect documents forreducer- the reducer to apply to each group
-
-
Method Details
-
getGroupSelector
- Returns:
- the GroupSelector used in this collector
-
scoreMode
Description copied from interface:CollectorIndicates what features are required from the scorer. -
setScorer
Description copied from interface:LeafCollectorCalled before successive calls toLeafCollector.collect(int). Implementations that need the score of the current document (passed-in toLeafCollector.collect(int)), should save the passed-in Scorer and call scorer.score() when needed.- Specified by:
setScorerin interfaceLeafCollector- Overrides:
setScorerin classSimpleCollector- Throws:
IOException
-
collect
Description copied from interface:LeafCollectorCalled once for every document matching a query, with the unbased document number.Note: The collection of the current segment can be terminated by throwing a
CollectionTerminatedException. In this case, the last docs of the currentLeafReaderContextwill be skipped andIndexSearcherwill swallow the exception and continue collection with the next leaf.Note: This is called in an inner search loop. For good search performance, implementations of this method should not call
StoredFields.document(int)on every hit. Doing so can slow searches by an order of magnitude or more.- Specified by:
collectin interfaceLeafCollector- Specified by:
collectin classSimpleCollector- Throws:
IOException
-
doSetNextReader
Description copied from class:SimpleCollectorThis method is called before collectingcontext.- Overrides:
doSetNextReaderin classSimpleCollector- Throws:
IOException
-