## Uses of Class
org.apache.lucene.search.grouping.SearchGroup

- - ### Uses of SearchGroup in org.apache.lucene.search.grouping

    Subclasses of SearchGroup in org.apache.lucene.search.grouping
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `CollectedSearchGroup<T>` | Expert: representation of a group in `FirstPassGroupingCollector`, tracking the top doc and `FieldComparator` slot.

    Fields in org.apache.lucene.search.grouping with type parameters of type SearchGroup
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Collection<SearchGroup<T>>` | SecondPassGroupingCollector.`groups` |

    Methods in org.apache.lucene.search.grouping that return types with arguments of type SearchGroup
    Modifier and Type | Method | Description
    --- | --- | ---
    `Collection<SearchGroup<T>>` | FirstPassGroupingCollector.`getTopGroups​(int groupOffset)` | Returns top groups, starting from offset.
    `static <T> Collection<SearchGroup<T>>` | SearchGroup.`merge​(List<Collection<SearchGroup<T>>> topGroups, int offset, int topN, Sort groupSort)` | Merges multiple collections of top groups, for example obtained from separate index shards.

    Method parameters in org.apache.lucene.search.grouping with type arguments of type SearchGroup
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <T> Collection<SearchGroup<T>>` | SearchGroup.`merge​(List<Collection<SearchGroup<T>>> topGroups, int offset, int topN, Sort groupSort)` | Merges multiple collections of top groups, for example obtained from separate index shards.
    `void` | DoubleRangeGroupSelector.`setGroups​(Collection<SearchGroup<DoubleRange>> searchGroups)` |
    `void` | GroupReducer.`setGroups​(Collection<SearchGroup<T>> groups)` | Define which groups should be reduced.
    `abstract void` | GroupSelector.`setGroups​(Collection<SearchGroup<T>> groups)` | Set a restriction on the group values returned by this selector
    `void` | LongRangeGroupSelector.`setGroups​(Collection<SearchGroup<LongRange>> searchGroups)` |
    `void` | TermGroupSelector.`setGroups​(Collection<SearchGroup<BytesRef>> searchGroups)` |
    `void` | ValueSourceGroupSelector.`setGroups​(Collection<SearchGroup<MutableValue>> searchGroups)` |

    Constructor parameters in org.apache.lucene.search.grouping with type arguments of type SearchGroup
    Constructor | Description
    --- | ---
    `DistinctValuesCollector​(GroupSelector<T> groupSelector, Collection<SearchGroup<T>> groups, GroupSelector<R> valueSelector)` | Create a DistinctValuesCollector
    `SecondPassGroupingCollector​(GroupSelector<T> groupSelector, Collection<SearchGroup<T>> groups, GroupReducer<T,​?> reducer)` | Create a new SecondPassGroupingCollector
    `TopGroupsCollector​(GroupSelector<T> groupSelector, Collection<SearchGroup<T>> groups, Sort groupSort, Sort withinGroupSort, int maxDocsPerGroup, boolean getMaxScores)` | Create a new TopGroupsCollector