Class TermAllGroupsCollector
- java.lang.Object
-
- org.apache.lucene.search.Collector
-
- org.apache.lucene.search.grouping.AbstractAllGroupsCollector<String>
-
- org.apache.lucene.search.grouping.TermAllGroupsCollector
-
public class TermAllGroupsCollector extends AbstractAllGroupsCollector<String>
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. Implementation detail: an int hash set (SentinelIntSet) is used to detect if a group is already added to the total count. For each segment the int set is cleared and filled with previous counted groups that occur in the new segment.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Constructor Summary
Constructors Constructor Description TermAllGroupsCollector(String groupField)
Constructs aAbstractAllGroupsCollector
.TermAllGroupsCollector(String groupField, int initialSize)
Expert: Constructs aAbstractAllGroupsCollector
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
collect(int doc)
Collection<String>
getGroups()
Returns the group valuesvoid
setNextReader(org.apache.lucene.index.IndexReader reader, int docBase)
-
Methods inherited from class org.apache.lucene.search.grouping.AbstractAllGroupsCollector
acceptsDocsOutOfOrder, getGroupCount, setScorer
-
-
-
-
Constructor Detail
-
TermAllGroupsCollector
public TermAllGroupsCollector(String groupField, int initialSize)
Expert: Constructs aAbstractAllGroupsCollector
- Parameters:
groupField
- The field to group byinitialSize
- The initial allocation size of the internal int set and group list which should roughly match the total number of expected unique groups. Be aware that the heap usage is 4 bytes * initialSize.
-
TermAllGroupsCollector
public TermAllGroupsCollector(String groupField)
Constructs aAbstractAllGroupsCollector
. This sets the initial allocation size for the internal int set and group list to 128.- Parameters:
groupField
- The field to group by
-
-
Method Detail
-
collect
public void collect(int doc) throws IOException
- Specified by:
collect
in classorg.apache.lucene.search.Collector
- Throws:
IOException
-
getGroups
public Collection<String> 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.- Specified by:
getGroups
in classAbstractAllGroupsCollector<String>
- Returns:
- the group values
-
setNextReader
public void setNextReader(org.apache.lucene.index.IndexReader reader, int docBase) throws IOException
- Specified by:
setNextReader
in classorg.apache.lucene.search.Collector
- Throws:
IOException
-
-