TermGroupFacetCollector (Lucene 10.5.1 grouping API)
Description: declaration: package: org.apache.lucene.search.grouping, class: TermGroupFacetCollector

Package org.apache.lucene.search.grouping

# Class TermGroupFacetCollector

java.lang.Object
org.apache.lucene.search.SimpleCollector
org.apache.lucene.search.grouping.GroupFacetCollector
org.apache.lucene.search.grouping.TermGroupFacetCollector

All Implemented Interfaces:
  `Collector`, `LeafCollector`

public abstract class TermGroupFacetCollector extends GroupFacetCollector
An implementation of `GroupFacetCollector` that computes grouped facets based on the indexed terms from DocValues.

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

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.apache.lucene.search.grouping.GroupFacetCollector

  `GroupFacetCollector.FacetEntry, GroupFacetCollector.GroupedFacetResult, GroupFacetCollector.SegmentResult`

- ## Field Summary

  ### Fields inherited from class org.apache.lucene.search.grouping.GroupFacetCollector

  `endFacetOrd, facetField, facetPrefix, groupField, segmentFacetCounts, segmentResults, segmentTotalCount, startFacetOrd`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static TermGroupFacetCollector`
  `createTermGroupFacetCollector(String groupField, String facetField, boolean facetFieldMultivalued, BytesRef facetPrefix, int initialSize)`
  Factory method for creating the right implementation based on the fact whether the facet field contains multiple tokens per documents.

  ### Methods inherited from class org.apache.lucene.search.grouping.GroupFacetCollector

  `createSegmentResult, finish, mergeSegmentResults, scoreMode, setScorer`

  ### 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.Collector

  `setWeight`

  ### Methods inherited from interface org.apache.lucene.search.LeafCollector

  `collect, collectRange, competitiveIterator`

- ## Method Details

  - ### createTermGroupFacetCollector

    public static TermGroupFacetCollector createTermGroupFacetCollector(String groupField, String facetField, boolean facetFieldMultivalued, BytesRef facetPrefix, int initialSize)
    Factory method for creating the right implementation based on the fact whether the facet field contains multiple tokens per documents.
    Parameters:
      `groupField` - The group field
      `facetField` - The facet field
      `facetFieldMultivalued` - Whether the facet field has multiple tokens per document
      `facetPrefix` - The facet prefix a facet entry should start with to be included.
      `initialSize` - The initial allocation size of the internal int set and group facet list which should roughly match the total number of expected unique groups. Be aware that the heap usage is 4 bytes * initialSize.
    Returns:
      `TermGroupFacetCollector` implementation