Class AllGroupsCollector<T>
- java.lang.Object
-
- org.apache.lucene.search.SimpleCollector
-
- org.apache.lucene.search.grouping.AllGroupsCollector<T>
-
- All Implemented Interfaces:
Collector,LeafCollector
public class AllGroupsCollector<T> extends SimpleCollector
A collector that collects all groups that match the query. Only the group value is collected, and the order is undefined. This collector does not determine the most relevant document of a group.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<T>groupsprivate GroupSelector<T>groupSelector
-
Constructor Summary
Constructors Constructor Description AllGroupsCollector(GroupSelector<T> groupSelector)Create a new AllGroupsCollector
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcollect(int doc)Called once for every document matching a query, with the unbased document number.protected voiddoSetNextReader(LeafReaderContext context)This method is called before collectingcontext.intgetGroupCount()Returns the total number of groups for the executed search.java.util.Collection<T>getGroups()Returns the group valuesScoreModescoreMode()Indicates what features are required from the scorer.voidsetScorer(Scorable scorer)Called before successive calls toLeafCollector.collect(int).-
Methods inherited from class org.apache.lucene.search.SimpleCollector
getLeafCollector
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.lucene.search.LeafCollector
competitiveIterator
-
-
-
-
Field Detail
-
groupSelector
private final GroupSelector<T> groupSelector
-
groups
private final java.util.Set<T> groups
-
-
Constructor Detail
-
AllGroupsCollector
public AllGroupsCollector(GroupSelector<T> groupSelector)
Create a new AllGroupsCollector- Parameters:
groupSelector- the GroupSelector to determine groups
-
-
Method Detail
-
getGroupCount
public int getGroupCount()
Returns the total number of groups for the executed search. This is a convenience method. The following code snippet has the same effect:getGroups().size()
- Returns:
- The total number of groups for the executed search
-
getGroups
public java.util.Collection<T> getGroups()
Returns the group valuesThis is an unordered collections of group values.
- Returns:
- the group values
-
setScorer
public void setScorer(Scorable scorer) throws java.io.IOException
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:
java.io.IOException
-
doSetNextReader
protected void doSetNextReader(LeafReaderContext context) throws java.io.IOException
Description copied from class:SimpleCollectorThis method is called before collectingcontext.- Overrides:
doSetNextReaderin classSimpleCollector- Throws:
java.io.IOException
-
collect
public void collect(int doc) throws java.io.IOExceptionDescription 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
IndexSearcher.doc(int)orIndexReader.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:
java.io.IOException
-
-