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

Packages that use SearchGroup
Package | Description
--- | ---
org.apache.lucene.search.grouping | This module enables search result grouping with Lucene, where hits with the same value in the specified single-valued group field are grouped together.
org.apache.lucene.search.grouping.function | Support for grouping by {org.apache.lucene.queries.function.ValueSource}.
org.apache.lucene.search.grouping.term | Support for grouping by indexed terms via {org.apache.lucene.search.FieldCache}.

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

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

Methods in org.apache.lucene.search.grouping that return types with arguments of type SearchGroup
Modifier and Type | Method and Description
--- | ---
`Collection<SearchGroup<GROUP_VALUE_TYPE>>` | AbstractFirstPassGroupingCollector.`getTopGroups(int groupOffset, boolean fillFields)` 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 and 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.

Constructor parameters in org.apache.lucene.search.grouping with type arguments of type SearchGroup
Constructor and Description
`AbstractSecondPassGroupingCollector(Collection<SearchGroup<GROUP_VALUE_TYPE>> groups, Sort groupSort, Sort withinGroupSort, int maxDocsPerGroup, boolean getScores, boolean getMaxScores, boolean fillSortFields)`

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

Constructor parameters in org.apache.lucene.search.grouping.function with type arguments of type SearchGroup
Constructor and Description
`FunctionDistinctValuesCollector(Map<?,?> vsContext, ValueSource groupSource, ValueSource countSource, Collection<SearchGroup<MutableValue>> groups)`
`FunctionSecondPassGroupingCollector(Collection<SearchGroup<MutableValue>> searchGroups, Sort groupSort, Sort withinGroupSort, int maxDocsPerGroup, boolean getScores, boolean getMaxScores, boolean fillSortFields, ValueSource groupByVS, Map<?,?> vsContext)` Constructs a `FunctionSecondPassGroupingCollector` instance.

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

Constructor parameters in org.apache.lucene.search.grouping.term with type arguments of type SearchGroup
Constructor and Description
`TermDistinctValuesCollector(String groupField, String countField, Collection<SearchGroup<BytesRef>> groups)` Constructs `TermDistinctValuesCollector` instance.
`TermSecondPassGroupingCollector(String groupField, Collection<SearchGroup<BytesRef>> groups, Sort groupSort, Sort withinGroupSort, int maxDocsPerGroup, boolean getScores, boolean getMaxScores, boolean fillSortFields)`