org.apache.lucene.search.grouping

## Class AllGroupHeadsCollector.GroupHead<T>

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

Enclosing class:
  AllGroupHeadsCollector<T>

    public abstract static class AllGroupHeadsCollector.GroupHead<T>
    extends Object

Represents a group head. A group head is the most relevant document for a particular group. The relevancy is based is usually based on the sort. The group head contains a group value with its associated most relevant document id.

### Field Summary

Fields
`int` `doc`
`protected int` `docBase`
`T` `groupValue`

### Constructor Summary

Constructors
`protected` `GroupHead(T groupValue, int doc, int docBase)` Create a new GroupHead for the given value

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected abstract int` `compare(int compIDX, int doc)` Compares the specified document for a specified comparator against the current most relevant document.
`protected void` `setNextReader(LeafReaderContext ctx)` Called for each segment
`protected abstract void` `setScorer(Scorable scorer)` Called for each segment
`protected abstract void` `updateDocHead(int doc)` Updates the current most relevant document with the specified document.

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### groupValue

    public final T groupValue

#### doc

    public int doc

#### docBase

    protected int docBase

### Constructor Detail

#### GroupHead

    protected GroupHead(T groupValue,
                        int doc,
                        int docBase)

Create a new GroupHead for the given value

### Method Detail

#### setNextReader

    protected void setNextReader(LeafReaderContext ctx)
                          throws IOException

Called for each segment

Throws:
  `IOException`

#### setScorer

    protected abstract void setScorer(Scorable scorer)
                               throws IOException

Called for each segment

Throws:
  `IOException`

#### compare

    protected abstract int compare(int compIDX,
                                   int doc)
                            throws IOException

Compares the specified document for a specified comparator against the current most relevant document.

Parameters:
  `compIDX` - The comparator index of the specified comparator.
  `doc` - The specified document.
Returns:
  -1 if the specified document wasn't competitive against the current most relevant document, 1 if the specified document was competitive against the current most relevant document. Otherwise 0.
Throws:
  `IOException` - If I/O related errors occur

#### updateDocHead

    protected abstract void updateDocHead(int doc)
                                   throws IOException

Updates the current most relevant document with the specified document.

Parameters:
  `doc` - The specified document
Throws:
  `IOException` - If I/O related errors occur