org.apache.lucene.search.grouping
Class AbstractAllGroupHeadsCollector.GroupHead<GROUP_VALUE_TYPE>

java.lang.Object
  extended by org.apache.lucene.search.grouping.AbstractAllGroupHeadsCollector.GroupHead<GROUP_VALUE_TYPE>
Enclosing class:
AbstractAllGroupHeadsCollector<GH extends AbstractAllGroupHeadsCollector.GroupHead>

public abstract static class AbstractAllGroupHeadsCollector.GroupHead<GROUP_VALUE_TYPE>
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
 int doc
           
 GROUP_VALUE_TYPE groupValue
           
 
Constructor Summary
protected AbstractAllGroupHeadsCollector.GroupHead(GROUP_VALUE_TYPE groupValue, int doc)
           
 
Method Summary
protected abstract  int compare(int compIDX, int doc)
          Compares the specified document for a specified comparator against the current most relevant document.
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 GROUP_VALUE_TYPE groupValue

doc

public int doc
Constructor Detail

AbstractAllGroupHeadsCollector.GroupHead

protected AbstractAllGroupHeadsCollector.GroupHead(GROUP_VALUE_TYPE groupValue,
                                                   int doc)
Method Detail

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