Class AbstractSecondPassGroupingCollector<GROUP_VALUE_TYPE>
- java.lang.Object
-
- org.apache.lucene.search.Collector
-
- org.apache.lucene.search.grouping.AbstractSecondPassGroupingCollector<GROUP_VALUE_TYPE>
-
- Direct Known Subclasses:
TermSecondPassGroupingCollector
public abstract class AbstractSecondPassGroupingCollector<GROUP_VALUE_TYPE> extends org.apache.lucene.search.CollectorSecondPassGroupingCollector is the second of two passes necessary to collect grouped docs. This pass gathers the top N documents per top group computed from the first pass. Concrete subclasses define what a group is and how it is internally collected.See
org.apache.lucene.search.groupingfor more details including a full code example.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classAbstractSecondPassGroupingCollector.SearchGroupDocs<GROUP_VALUE_TYPE>
-
Field Summary
Fields Modifier and Type Field Description protected AbstractSecondPassGroupingCollector.SearchGroupDocs<GROUP_VALUE_TYPE>[]groupDocsprotected Map<GROUP_VALUE_TYPE,AbstractSecondPassGroupingCollector.SearchGroupDocs<GROUP_VALUE_TYPE>>groupMap
-
Constructor Summary
Constructors Constructor Description AbstractSecondPassGroupingCollector(Collection<SearchGroup<GROUP_VALUE_TYPE>> groups, org.apache.lucene.search.Sort groupSort, org.apache.lucene.search.Sort withinGroupSort, int maxDocsPerGroup, boolean getScores, boolean getMaxScores, boolean fillSortFields)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleanacceptsDocsOutOfOrder()voidcollect(int doc)TopGroups<GROUP_VALUE_TYPE>getTopGroups(int withinGroupOffset)protected abstract AbstractSecondPassGroupingCollector.SearchGroupDocs<GROUP_VALUE_TYPE>retrieveGroup(int doc)Returns the group the specified doc belongs to ornullif no group could be retrieved.voidsetNextReader(org.apache.lucene.index.IndexReader reader, int docBase)voidsetScorer(org.apache.lucene.search.Scorer scorer)
-
-
-
Field Detail
-
groupMap
protected final Map<GROUP_VALUE_TYPE,AbstractSecondPassGroupingCollector.SearchGroupDocs<GROUP_VALUE_TYPE>> groupMap
-
groupDocs
protected AbstractSecondPassGroupingCollector.SearchGroupDocs<GROUP_VALUE_TYPE>[] groupDocs
-
-
Constructor Detail
-
AbstractSecondPassGroupingCollector
public AbstractSecondPassGroupingCollector(Collection<SearchGroup<GROUP_VALUE_TYPE>> groups, org.apache.lucene.search.Sort groupSort, org.apache.lucene.search.Sort withinGroupSort, int maxDocsPerGroup, boolean getScores, boolean getMaxScores, boolean fillSortFields) throws IOException
- Throws:
IOException
-
-
Method Detail
-
setScorer
public void setScorer(org.apache.lucene.search.Scorer scorer) throws IOException- Specified by:
setScorerin classorg.apache.lucene.search.Collector- Throws:
IOException
-
collect
public void collect(int doc) throws IOException- Specified by:
collectin classorg.apache.lucene.search.Collector- Throws:
IOException
-
retrieveGroup
protected abstract AbstractSecondPassGroupingCollector.SearchGroupDocs<GROUP_VALUE_TYPE> retrieveGroup(int doc) throws IOException
Returns the group the specified doc belongs to ornullif no group could be retrieved.- Parameters:
doc- The specified doc- Returns:
- the group the specified doc belongs to or
nullif no group could be retrieved - Throws:
IOException- If an I/O related error occurred
-
setNextReader
public void setNextReader(org.apache.lucene.index.IndexReader reader, int docBase) throws IOException- Specified by:
setNextReaderin classorg.apache.lucene.search.Collector- Throws:
IOException
-
acceptsDocsOutOfOrder
public boolean acceptsDocsOutOfOrder()
- Specified by:
acceptsDocsOutOfOrderin classorg.apache.lucene.search.Collector
-
getTopGroups
public TopGroups<GROUP_VALUE_TYPE> getTopGroups(int withinGroupOffset)
-
-