Class GlobalOrdCardinalityAggregator
- All Implemented Interfaces:
- Closeable,- AutoCloseable,- Releasable
- 
Nested Class SummaryNested classes/interfaces inherited from class org.elasticsearch.search.aggregations.metrics.NumericMetricsAggregatorNumericMetricsAggregator.MultiValue, NumericMetricsAggregator.SingleValueNested classes/interfaces inherited from class org.elasticsearch.search.aggregations.AggregatorAggregator.BucketComparator, Aggregator.Parser, Aggregator.SubAggCollectionMode
- 
Field SummaryFields inherited from class org.elasticsearch.search.aggregations.AggregatorBasecollectableSubAggregators, DEFAULT_WEIGHT, name, parent, subAggregatorsFields inherited from class org.elasticsearch.search.aggregations.BucketCollectorNO_OP_BUCKET_COLLECTOR, NO_OP_COLLECTOR
- 
Constructor SummaryConstructorsConstructorDescriptionGlobalOrdCardinalityAggregator(String name, ValuesSource.Bytes.WithOrdinals valuesSource, int precision, int maxOrd, AggregationContext context, Aggregator parent, Map<String, Object> metadata) 
- 
Method SummaryModifier and TypeMethodDescriptionbuildAggregation(long owningBucketOrdinal) Build an aggregation for data that has been collected intoowningBucketOrd.Build an empty aggregation.protected voiddoClose()Release instance-specific data.protected voidCan be overridden by aggregator implementation to be called back when the collection phase ends.Collect results for this leaf.doublemetric(long owningBucketOrd) org.apache.lucene.search.ScoreModeMost 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.SingleValuebucketComparatorMethods inherited from class org.elasticsearch.search.aggregations.metrics.MetricsAggregatorbuildAggregationsMethods inherited from class org.elasticsearch.search.aggregations.AggregatorBaseaddRequestCircuitBreakerBytes, bigArrays, buildEmptySubAggregations, close, doPreCollection, getLeafCollector, metadata, name, parent, pointReaderIfAvailable, postCollection, preCollection, preGetSubLeafCollectors, searcher, subAggregator, subAggregators, topLevelQuery, toStringMethods inherited from class org.elasticsearch.search.aggregations.AggregatorbuildTopLevel, collectDebugInfo, resolveSortPath, resolveSortPathOnValidAggMethods inherited from class org.elasticsearch.search.aggregations.BucketCollectorasCollector
- 
Constructor Details- 
GlobalOrdCardinalityAggregatorpublic GlobalOrdCardinalityAggregator(String name, ValuesSource.Bytes.WithOrdinals valuesSource, int precision, int maxOrd, AggregationContext context, Aggregator parent, Map<String, Object> metadata) throws IOException- Throws:
- IOException
 
 
- 
- 
Method Details- 
scoreModepublic 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.- Overrides:
- scoreModein class- AggregatorBase
 
- 
getLeafCollectorpublic LeafBucketCollector getLeafCollector(AggregationExecutionContext aggCtx, LeafBucketCollector sub) throws IOException Description copied from class:AggregatorBaseCollect results for this leaf.Most Aggregators will return a custom LeafBucketCollectorthat collects document information for every hit. Callers of this method will make sure to callcollectfor every hit. So anyAggregatorthat returns a customer LeafBucketCollector from this method runs at bestO(hits)time. See thesumAggregator for a fairly strait forward example of this.Some Aggregators are able to correctly collect results on their own, without being iterated by the top level query or the rest of the aggregations framework. These aggregations collect what they need by calling methods on LeafReaderContextand then they returnLeafBucketCollector.NO_OP_COLLECTORto signal that they've done their own collection. These aggregations can do better thanO(hits). See theminAggregator for an example of an aggregation that does this. It happens to run in constant time in some cases.In other cases MinAggregatorcan't get correct results by taking the constant time path so instead it returns a customLeafBucketCollector. This is fairly common for aggregations that have these fast paths because most of these fast paths are only possible when the aggregation is at the root of the tree.Its also useful to look at the filtersAggregator chooses whether or not it can use the fast path before building the Aggregator rather than on each leaf. Either is fine.- Specified by:
- getLeafCollectorin class- AggregatorBase
- Throws:
- IOException
 
- 
doPostCollectionDescription copied from class:AggregatorBaseCan be overridden by aggregator implementation to be called back when the collection phase ends.- Overrides:
- doPostCollectionin class- AggregatorBase
- Throws:
- IOException
 
- 
metricpublic double metric(long owningBucketOrd) - Specified by:
- metricin class- NumericMetricsAggregator.SingleValue
 
- 
buildAggregationDescription copied from class:MetricsAggregatorBuild an aggregation for data that has been collected intoowningBucketOrd.- Specified by:
- buildAggregationin class- MetricsAggregator
 
- 
buildEmptyAggregationDescription copied from class:AggregatorBuild an empty aggregation.- Specified by:
- buildEmptyAggregationin class- Aggregator
 
- 
doCloseprotected void doClose()Description copied from class:AggregatorBaseRelease instance-specific data.- Overrides:
- doClosein class- AggregatorBase
 
 
-