Class SamplerAggregator
- All Implemented Interfaces:
- Closeable,- AutoCloseable,- org.apache.lucene.search.Collector,- org.elasticsearch.core.Releasable,- SingleBucketAggregator
- Direct Known Subclasses:
- DiversifiedBytesHashSamplerAggregator,- DiversifiedMapSamplerAggregator,- DiversifiedNumericSamplerAggregator,- DiversifiedOrdinalsSamplerAggregator
- 
Nested Class SummaryNested ClassesNested classes/interfaces inherited from class org.elasticsearch.search.aggregations.bucket.BucketsAggregatorBucketsAggregator.BucketBuilderForFixedCount<B>, BucketsAggregator.BucketBuilderForVariable<B>, BucketsAggregator.ResultBuilderForVariable<B>, BucketsAggregator.SingleBucketResultBuilderNested classes/interfaces inherited from class org.elasticsearch.search.aggregations.AggregatorAggregator.BucketComparator, Aggregator.Parser, Aggregator.SubAggCollectionMode
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected BestDocsDeferringCollectorstatic org.elasticsearch.common.xcontent.ParseFieldstatic org.elasticsearch.common.xcontent.ParseFieldstatic org.elasticsearch.common.xcontent.ParseFieldprotected intFields inherited from class org.elasticsearch.search.aggregations.bucket.BucketsAggregatordocCountProviderFields inherited from class org.elasticsearch.search.aggregations.AggregatorBasecollectableSubAggregators, DEFAULT_WEIGHT, name, parent, subAggregatorsFields inherited from class org.elasticsearch.search.aggregations.BucketCollectorNO_OP_COLLECTOR
- 
Method SummaryModifier and TypeMethodDescriptionbuildAggregations(long[] owningBucketOrds)Build the results of this aggregation.Build theDeferringBucketCollector.Build an empty aggregation.protected voiddoClose()Release instance-specific data.protected LeafBucketCollectorgetLeafCollector(org.apache.lucene.index.LeafReaderContext ctx, LeafBucketCollector sub)Collect results for this leaf.org.apache.lucene.search.ScoreModeMost aggregators don't need scores, make sure to extend this method if your aggregator needs them.protected booleanshouldDefer(Aggregator aggregator)This method should be overridden by subclasses that want to defer calculation of a child aggregation until a first pass is complete and a set of buckets has been pruned.Methods inherited from class org.elasticsearch.search.aggregations.bucket.DeferableBucketAggregatorcollectDebugInfo, deferringCollector, doPreCollection, prepareSubAggsMethods inherited from class org.elasticsearch.search.aggregations.bucket.BucketsAggregatorbucketComparator, bucketDocCount, buildAggregationsForFixedBucketCount, buildAggregationsForSingleBucket, buildAggregationsForVariableBuckets, buildSubAggsForAllBuckets, buildSubAggsForBuckets, buildSubAggsForBuckets, close, collectBucket, collectExistingBucket, descendsFromGlobalAggregator, getDocCounts, grow, incrementBucketDocCount, maxBucketOrd, preGetSubLeafCollectors, resolveSortPath, rewriteBucketsMethods inherited from class org.elasticsearch.search.aggregations.AggregatorBaseaddRequestCircuitBreakerBytes, bigArrays, buildEmptySubAggregations, doPostCollection, getLeafCollector, metadata, name, parent, pointReaderIfAvailable, postCollection, preCollection, searcher, subAggregator, subAggregators, topLevelQuery, toStringMethods inherited from class org.elasticsearch.search.aggregations.AggregatorbuildTopLevel, resolveSortPathOnValidAgg
- 
Field Details- 
SHARD_SIZE_FIELDpublic static final org.elasticsearch.common.xcontent.ParseField SHARD_SIZE_FIELD
- 
MAX_DOCS_PER_VALUE_FIELDpublic static final org.elasticsearch.common.xcontent.ParseField MAX_DOCS_PER_VALUE_FIELD
- 
EXECUTION_HINT_FIELDpublic static final org.elasticsearch.common.xcontent.ParseField EXECUTION_HINT_FIELD
- 
shardSizeprotected final int shardSize
- 
bdd
 
- 
- 
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.- Specified by:
- scoreModein interface- org.apache.lucene.search.Collector
- Overrides:
- scoreModein class- AggregatorBase
 
- 
buildDeferringCollectorDescription copied from class:DeferableBucketAggregatorBuild theDeferringBucketCollector. The default implementation replays all hits against the buckets selected by {#linkDeferringBucketCollector.prepareSelectedBuckets(long...).- Overrides:
- buildDeferringCollectorin class- DeferableBucketAggregator
 
- 
shouldDeferDescription copied from class:DeferableBucketAggregatorThis method should be overridden by subclasses that want to defer calculation of a child aggregation until a first pass is complete and a set of buckets has been pruned.- Overrides:
- shouldDeferin class- DeferableBucketAggregator
- Parameters:
- aggregator- the child aggregator
- Returns:
- true if the aggregator should be deferred until a first pass at collection has completed
 
- 
buildAggregationsDescription copied from class:AggregatorBuild the results of this aggregation.- Specified by:
- buildAggregationsin class- Aggregator
- Parameters:
- owningBucketOrds- the ordinals of the buckets that we want to collect from this aggregation
- Returns:
- the results for each ordinal, in the same order as the array of ordinals
- Throws:
- IOException
 
- 
buildEmptyAggregationDescription copied from class:AggregatorBuild an empty aggregation.- Specified by:
- buildEmptyAggregationin class- Aggregator
 
- 
getLeafCollectorprotected LeafBucketCollector getLeafCollector(org.apache.lucene.index.LeafReaderContext ctx, LeafBucketCollector sub) throws IOExceptionDescription 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
 
- 
doCloseprotected void doClose()Description copied from class:AggregatorBaseRelease instance-specific data.- Overrides:
- doClosein class- AggregatorBase
 
 
-