Package 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
Modifier and Type
Field
Description
`T`
`groupValue`
The value that defines this group
`Object[]`
`sortValues`
The sort values used during sorting.

## Constructor Summary

Constructors
Constructor
Description
`SearchGroup()`

## Method Summary

Modifier and Type
Method
Description
`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 Details

### 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 Details

### SearchGroup

public SearchGroup()

## Method Details

### 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.