org.apache.lucene.search.grouping.term
Class TermAllGroupsCollector

java.lang.Object
  extended by org.apache.lucene.search.Collector
      extended by org.apache.lucene.search.grouping.AbstractAllGroupsCollector<BytesRef>
          extended by org.apache.lucene.search.grouping.term.TermAllGroupsCollector

public class TermAllGroupsCollector
extends AbstractAllGroupsCollector<BytesRef>

A collector that collects all groups that match the query. Only the group value is collected, and the order is undefined. This collector does not determine the most relevant document of a group.

Implementation detail: an int hash set (SentinelIntSet) is used to detect if a group is already added to the total count. For each segment the int set is cleared and filled with previous counted groups that occur in the new segment.

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

Constructor Summary
TermAllGroupsCollector(String groupField)
          Constructs a AbstractAllGroupsCollector.
TermAllGroupsCollector(String groupField, int initialSize)
          Expert: Constructs a AbstractAllGroupsCollector
 
Method Summary
 void collect(int doc)
           
 Collection<BytesRef> getGroups()
          Returns the group values

This is an unordered collections of group values.

 void setNextReader(AtomicReaderContext context)
           
 
Methods inherited from class org.apache.lucene.search.grouping.AbstractAllGroupsCollector
acceptsDocsOutOfOrder, getGroupCount, setScorer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TermAllGroupsCollector

public TermAllGroupsCollector(String groupField,
                              int initialSize)
Expert: Constructs a AbstractAllGroupsCollector

Parameters:
groupField - The field to group by
initialSize - The initial allocation size of the internal int set and group list which should roughly match the total number of expected unique groups. Be aware that the heap usage is 4 bytes * initialSize.

TermAllGroupsCollector

public TermAllGroupsCollector(String groupField)
Constructs a AbstractAllGroupsCollector. This sets the initial allocation size for the internal int set and group list to 128.

Parameters:
groupField - The field to group by
Method Detail

collect

public void collect(int doc)
             throws IOException
Specified by:
collect in class Collector
Throws:
IOException

getGroups

public Collection<BytesRef> getGroups()
Description copied from class: AbstractAllGroupsCollector
Returns the group values

This is an unordered collections of group values. For each group that matched the query there is a BytesRef representing a group value.

Specified by:
getGroups in class AbstractAllGroupsCollector<BytesRef>
Returns:
the group values

setNextReader

public void setNextReader(AtomicReaderContext context)
                   throws IOException
Specified by:
setNextReader in class Collector
Throws:
IOException


Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.