## org.apache.lucene.search.grouping.term
Class TermAllGroupsCollector

    java.lang.Object
      org.apache.lucene.search.Collector
          org.apache.lucene.search.grouping.AbstractAllGroupsCollector<BytesRef>
              org.apache.lucene.search.grouping.term.TermAllGroupsCollector

    public class TermAllGroupsCollector

extends AbstractAllGroupsCollector<BytesRef>

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
`TermAllGroupsCollector(String groupField)` Constructs a `AbstractAllGroupsCollector`.
`TermAllGroupsCollector(String groupField, int initialSize)` Expert: Constructs a `AbstractAllGroupsCollector`

Method Summary
`void` `collect(int doc)`
`Collection<BytesRef>` `getGroups()` Returns the group values This is an unordered collections of group values.
`void` `setNextReader(AtomicReaderContext context)`

Methods inherited from class org.apache.lucene.search.grouping.AbstractAllGroupsCollector
`acceptsDocsOutOfOrder, getGroupCount, setScorer`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### TermAllGroupsCollector

    public TermAllGroupsCollector(String groupField,
                                  int initialSize)

  Expert: Constructs a `AbstractAllGroupsCollector`

  Parameters:
    `groupField` - The field to group by
    `initialSize` - 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 a `AbstractAllGroupsCollector`. 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 class `Collector`
  Throws:
    `IOException`

### getGroups

    public Collection<BytesRef> getGroups()

  Description copied from class: `AbstractAllGroupsCollector`
  Returns the group values

  This is an unordered collections of group values. For each group that matched the query there is a `BytesRef` representing a group value.

  Specified by:
    `getGroups` in class `AbstractAllGroupsCollector<BytesRef>`
  Returns:
    the group values

### setNextReader

    public void setNextReader(AtomicReaderContext context)
                       throws IOException

  Specified by:
    `setNextReader` in class `Collector`
  Throws:
    `IOException`

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.