public class TermAllGroupsCollector extends AbstractAllGroupsCollector<BytesRef>
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.
| Constructor and Description |
|---|
TermAllGroupsCollector(String groupField)
Constructs a
AbstractAllGroupsCollector. |
TermAllGroupsCollector(String groupField,
int initialSize)
Expert: Constructs a
AbstractAllGroupsCollector |
| Modifier and Type | Method and Description |
|---|---|
void |
collect(int doc) |
protected void |
doSetNextReader(LeafReaderContext context) |
Collection<BytesRef> |
getGroups()
Returns the group values
|
boolean |
needsScores() |
getGroupCount, setScorergetLeafCollectorpublic TermAllGroupsCollector(String groupField, int initialSize)
AbstractAllGroupsCollectorgroupField - 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.public TermAllGroupsCollector(String groupField)
AbstractAllGroupsCollector. This sets the
initial allocation size for the internal int set and group
list to 128.groupField - The field to group bypublic void collect(int doc)
throws IOException
collect in interface LeafCollectorcollect in class SimpleCollectorIOExceptionpublic Collection<BytesRef> getGroups()
AbstractAllGroupsCollector
This is an unordered collections of group values. For each group that matched the query there is a BytesRef
representing a group value.
getGroups in class AbstractAllGroupsCollector<BytesRef>protected void doSetNextReader(LeafReaderContext context) throws IOException
doSetNextReader in class SimpleCollectorIOExceptionpublic boolean needsScores()
Copyright © 2000-2015 Apache Software Foundation. All Rights Reserved.