org.apache.lucene.search.grouping

## Class SearchGroup<T>

- java.lang.Object
- - org.apache.lucene.search.grouping.SearchGroup<T>

Direct Known Subclasses:
  CollectedSearchGroup

    public class SearchGroup<T>
    extends Object

Represents a group that is found during the first pass search.

WARNING: This API is experimental and might change in incompatible ways in the next release.

### Field Summary

Fields
`T` `groupValue` The value that defines this group
`Object[]` `sortValues` The sort values used during sorting.

### Constructor Summary

Constructors
Constructor and Description
`SearchGroup()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`boolean` `equals(Object o)`
`int` `hashCode()`
`static <T> Collection<SearchGroup<T>>` `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.
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### groupValue

    public T groupValue

The value that defines this group

#### sortValues

    public Object[] sortValues

The sort values used during sorting. These are the groupSort field values of the highest rank document (by the groupSort) within the group. Can be `null` if `fillFields=false` had been passed to `FirstPassGroupingCollector.getTopGroups(int)`

### Constructor Detail

#### SearchGroup

    public SearchGroup()

### Method Detail

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### equals

    public boolean equals(Object o)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### merge

    public static <T> Collection<SearchGroup<T>> 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. The provided groupSort must match how the groups were sorted, and the provided SearchGroups must have been computed with fillFields=true passed to `FirstPassGroupingCollector.getTopGroups(int)`.

NOTE: this returns null if the topGroups is empty.