Class CardinalityAggregator
java.lang.Object
org.elasticsearch.search.aggregations.BucketCollector
org.elasticsearch.search.aggregations.Aggregator
org.elasticsearch.search.aggregations.AggregatorBase
org.elasticsearch.search.aggregations.metrics.MetricsAggregator
org.elasticsearch.search.aggregations.metrics.NumericMetricsAggregator
org.elasticsearch.search.aggregations.metrics.NumericMetricsAggregator.SingleValue
org.elasticsearch.search.aggregations.metrics.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.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.search.aggregations.metrics.NumericMetricsAggregator
NumericMetricsAggregator.MultiValue, NumericMetricsAggregator.SingleValueNested classes/interfaces inherited from class org.elasticsearch.search.aggregations.Aggregator
Aggregator.BucketComparator, Aggregator.Parser, Aggregator.SubAggCollectionMode -
Field Summary
Fields inherited from class org.elasticsearch.search.aggregations.AggregatorBase
collectableSubAggregators, context, DEFAULT_WEIGHT, name, parent, subAggregators -
Constructor Summary
Constructors Constructor Description CardinalityAggregator(java.lang.String name, ValuesSourceConfig valuesSourceConfig, int precision, SearchContext context, Aggregator parent, java.util.Map<java.lang.String,java.lang.Object> metadata) -
Method Summary
Modifier and Type Method Description InternalAggregationbuildAggregation(long owningBucketOrdinal)Build an aggregation for data that has been collected intoowningBucketOrd.InternalAggregationbuildEmptyAggregation()Build an empty aggregation.voidcollectDebugInfo(java.util.function.BiConsumer<java.lang.String,java.lang.Object> add)Collect debug information to add to the profiling results.protected voiddoClose()Release instance-specific data.protected voiddoPostCollection()Can be overridden by aggregator implementation to be called back when the collection phase ends.LeafBucketCollectorgetLeafCollector(org.apache.lucene.index.LeafReaderContext ctx, LeafBucketCollector sub)Get aLeafBucketCollectorfor the given ctx, which should delegate to the given collector.doublemetric(long owningBucketOrd)org.apache.lucene.search.ScoreModescoreMode()Most aggregators don't need scores, make sure to extend this method if your aggregator needs them.Methods inherited from class org.elasticsearch.search.aggregations.metrics.NumericMetricsAggregator.SingleValue
bucketComparatorMethods inherited from class org.elasticsearch.search.aggregations.metrics.MetricsAggregator
buildAggregationsMethods inherited from class org.elasticsearch.search.aggregations.AggregatorBase
addRequestCircuitBreakerBytes, buildEmptySubAggregations, close, context, doPreCollection, getLeafCollector, metadata, name, parent, pointReaderIfAvailable, postCollection, preCollection, preGetSubLeafCollectors, subAggregator, subAggregators, toStringMethods inherited from class org.elasticsearch.search.aggregations.Aggregator
buildTopLevel, resolveSortPath, resolveSortPathOnValidAgg
-
Constructor Details
-
CardinalityAggregator
public CardinalityAggregator(java.lang.String name, ValuesSourceConfig valuesSourceConfig, int precision, SearchContext 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:AggregatorBaseMost aggregators don't need scores, make sure to extend this method if your aggregator needs them.- Specified by:
scoreModein interfaceorg.apache.lucene.search.Collector- Overrides:
scoreModein classAggregatorBase
-
getLeafCollector
public LeafBucketCollector getLeafCollector(org.apache.lucene.index.LeafReaderContext ctx, LeafBucketCollector sub) throws java.io.IOExceptionDescription copied from class:AggregatorBaseGet aLeafBucketCollectorfor the given ctx, which should delegate to the given collector.- Specified by:
getLeafCollectorin classAggregatorBase- Throws:
java.io.IOException
-
doPostCollection
protected void doPostCollection() throws java.io.IOExceptionDescription copied from class:AggregatorBaseCan be overridden by aggregator implementation to be called back when the collection phase ends.- Overrides:
doPostCollectionin classAggregatorBase- Throws:
java.io.IOException
-
metric
public double metric(long owningBucketOrd)- Specified by:
metricin classNumericMetricsAggregator.SingleValue
-
buildAggregation
Description copied from class:MetricsAggregatorBuild an aggregation for data that has been collected intoowningBucketOrd.- Specified by:
buildAggregationin classMetricsAggregator
-
buildEmptyAggregation
Description copied from class:AggregatorBuild an empty aggregation.- Specified by:
buildEmptyAggregationin classAggregator
-
doClose
protected void doClose()Description copied from class:AggregatorBaseRelease instance-specific data.- Overrides:
doClosein classAggregatorBase
-
collectDebugInfo
public void collectDebugInfo(java.util.function.BiConsumer<java.lang.String,java.lang.Object> add)Description copied from class:AggregatorCollect 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)andXContentBuilder.value(Object). And they'll have an integration test.- Overrides:
collectDebugInfoin classAggregator
-