Class AbstractAllGroupsCollector<GROUP_VALUE_TYPE>
- java.lang.Object
-
- org.apache.lucene.search.Collector
-
- org.apache.lucene.search.grouping.AbstractAllGroupsCollector<GROUP_VALUE_TYPE>
-
- Direct Known Subclasses:
TermAllGroupsCollector
public abstract class AbstractAllGroupsCollector<GROUP_VALUE_TYPE> extends Collector
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. This is an abstract version. Concrete implementations define what a group actually is and how it is internally collected.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Constructor Summary
Constructors Constructor Description AbstractAllGroupsCollector()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
acceptsDocsOutOfOrder()
Returntrue
if this collector does not require the matching docIDs to be delivered in int sort order (smallest to largest) toCollector.collect(int)
.int
getGroupCount()
Returns the total number of groups for the executed search.abstract Collection<GROUP_VALUE_TYPE>
getGroups()
Returns the group valuesvoid
setScorer(Scorer scorer)
Called before successive calls toCollector.collect(int)
.-
Methods inherited from class org.apache.lucene.search.Collector
collect, setNextReader
-
-
-
-
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 abstract Collection<GROUP_VALUE_TYPE> getGroups()
Returns the group values This is an unordered collections of group values. For each group that matched the query there is aBytesRef
representing a group value.- Returns:
- the group values
-
setScorer
public void setScorer(Scorer scorer) throws IOException
Description copied from class:Collector
Called before successive calls toCollector.collect(int)
. Implementations that need the score of the current document (passed-in toCollector.collect(int)
), should save the passed-in Scorer and call scorer.score() when needed.- Specified by:
setScorer
in classCollector
- Throws:
IOException
-
acceptsDocsOutOfOrder
public boolean acceptsDocsOutOfOrder()
Description copied from class:Collector
Returntrue
if this collector does not require the matching docIDs to be delivered in int sort order (smallest to largest) toCollector.collect(int)
.Most Lucene Query implementations will visit matching docIDs in order. However, some queries (currently limited to certain cases of
BooleanQuery
) can achieve faster searching if theCollector
allows them to deliver the docIDs out of order.Many collectors don't mind getting docIDs out of order, so it's important to return
true
here.- Specified by:
acceptsDocsOutOfOrder
in classCollector
-
-