Class GroupFacetCollector
- java.lang.Object
-
- org.apache.lucene.search.SimpleCollector
-
- org.apache.lucene.search.grouping.GroupFacetCollector
-
- All Implemented Interfaces:
Collector,LeafCollector
- Direct Known Subclasses:
TermGroupFacetCollector
public abstract class GroupFacetCollector extends SimpleCollector
Base class for computing grouped facets.- 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 static classGroupFacetCollector.FacetEntryRepresents a facet entry with a value and a count.static classGroupFacetCollector.GroupedFacetResultThe grouped facet result.protected static classGroupFacetCollector.SegmentResultContains the local grouped segment counts for a particular segment.
-
Field Summary
Fields Modifier and Type Field Description protected intendFacetOrdprotected StringfacetFieldprotected BytesReffacetPrefixprotected StringgroupFieldprotected int[]segmentFacetCountsprotected List<GroupFacetCollector.SegmentResult>segmentResultsprotected intsegmentTotalCountprotected intstartFacetOrd
-
Constructor Summary
Constructors Modifier Constructor Description protectedGroupFacetCollector(String groupField, String facetField, BytesRef facetPrefix)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract GroupFacetCollector.SegmentResultcreateSegmentResult()voidfinish()GroupFacetCollector.GroupedFacetResultmergeSegmentResults(int size, int minCount, boolean orderByCount)Returns grouped facet results that were computed over zero or more segments.ScoreModescoreMode()voidsetScorer(Scorable scorer)-
Methods inherited from class org.apache.lucene.search.SimpleCollector
collect, doSetNextReader, getLeafCollector
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.lucene.search.LeafCollector
collect, competitiveIterator
-
-
-
-
Field Detail
-
groupField
protected final String groupField
-
facetField
protected final String facetField
-
facetPrefix
protected final BytesRef facetPrefix
-
segmentResults
protected final List<GroupFacetCollector.SegmentResult> segmentResults
-
segmentFacetCounts
protected int[] segmentFacetCounts
-
segmentTotalCount
protected int segmentTotalCount
-
startFacetOrd
protected int startFacetOrd
-
endFacetOrd
protected int endFacetOrd
-
-
Method Detail
-
mergeSegmentResults
public GroupFacetCollector.GroupedFacetResult mergeSegmentResults(int size, int minCount, boolean orderByCount) throws IOException
Returns grouped facet results that were computed over zero or more segments. Grouped facet counts are merged from zero or more segment results.- Parameters:
size- The total number of facets to include. This is typically offset + limitminCount- The minimum count a facet entry should have to be included in the grouped facet resultorderByCount- Whether to sort the facet entries by facet entry count. Iffalsethen the facets are sorted lexicographically in ascending order.- Returns:
- grouped facet results
- Throws:
IOException- If I/O related errors occur during merging segment grouped facet counts.
-
finish
public void finish() throws IOException- Throws:
IOException
-
createSegmentResult
protected abstract GroupFacetCollector.SegmentResult createSegmentResult() throws IOException
- Throws:
IOException
-
setScorer
public void setScorer(Scorable scorer) throws IOException
- Specified by:
setScorerin interfaceLeafCollector- Overrides:
setScorerin classSimpleCollector- Throws:
IOException
-
scoreMode
public ScoreMode scoreMode()
-
-