Class CardinalityAggregator

All Implemented Interfaces:
java.io.Closeable, java.lang.AutoCloseable, org.apache.lucene.search.Collector, Releasable

public class CardinalityAggregator
extends NumericMetricsAggregator.SingleValue
An aggregator that computes approximate counts of unique values.
  • Constructor Details

    • CardinalityAggregator

      public CardinalityAggregator​(java.lang.String name, ValuesSourceConfig valuesSourceConfig, int precision, AggregationContext context, Aggregator parent, java.util.Map<java.lang.String,​java.lang.Object> metadata) throws java.io.IOException
      Throws:
      java.io.IOException
  • Method Details

    • scoreMode

      public org.apache.lucene.search.ScoreMode scoreMode()
      Description copied from class: AggregatorBase
      Most aggregators don't need scores, make sure to extend this method if your aggregator needs them.
      Specified by:
      scoreMode in interface org.apache.lucene.search.Collector
      Overrides:
      scoreMode in class AggregatorBase
    • getLeafCollector

      public LeafBucketCollector getLeafCollector​(org.apache.lucene.index.LeafReaderContext ctx, LeafBucketCollector sub) throws java.io.IOException
      Description copied from class: AggregatorBase
      Get a LeafBucketCollector for the given ctx, which should delegate to the given collector.
      Specified by:
      getLeafCollector in class AggregatorBase
      Throws:
      java.io.IOException
    • doPostCollection

      protected void doPostCollection() throws java.io.IOException
      Description copied from class: AggregatorBase
      Can be overridden by aggregator implementation to be called back when the collection phase ends.
      Overrides:
      doPostCollection in class AggregatorBase
      Throws:
      java.io.IOException
    • metric

      public double metric​(long owningBucketOrd)
      Specified by:
      metric in class NumericMetricsAggregator.SingleValue
    • buildAggregation

      public InternalAggregation buildAggregation​(long owningBucketOrdinal)
      Description copied from class: MetricsAggregator
      Build an aggregation for data that has been collected into owningBucketOrd.
      Specified by:
      buildAggregation in class MetricsAggregator
    • buildEmptyAggregation

      public InternalAggregation buildEmptyAggregation()
      Description copied from class: Aggregator
      Build an empty aggregation.
      Specified by:
      buildEmptyAggregation in class Aggregator
    • doClose

      protected void doClose()
      Description copied from class: AggregatorBase
      Release instance-specific data.
      Overrides:
      doClose in class AggregatorBase
    • collectDebugInfo

      public void collectDebugInfo​(java.util.function.BiConsumer<java.lang.String,​java.lang.Object> add)
      Description copied from class: Aggregator
      Collect debug information to add to the profiling results. This will only be called if the aggregation is being profiled.

      Well behaved implementations will always call the superclass implementation just in case it has something interesting. They will also only add objects which can be serialized with StreamOutput.writeGenericValue(Object) and XContentBuilder.value(Object). And they'll have an integration test.

      Overrides:
      collectDebugInfo in class Aggregator