Class SamplerAggregator
java.lang.Object
org.elasticsearch.search.aggregations.BucketCollector
org.elasticsearch.search.aggregations.Aggregator
org.elasticsearch.search.aggregations.AggregatorBase
org.elasticsearch.search.aggregations.bucket.BucketsAggregator
org.elasticsearch.search.aggregations.bucket.DeferableBucketAggregator
org.elasticsearch.search.aggregations.bucket.sampler.SamplerAggregator
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,org.apache.lucene.search.Collector,Releasable,SingleBucketAggregator
- Direct Known Subclasses:
DiversifiedBytesHashSamplerAggregator,DiversifiedMapSamplerAggregator,DiversifiedNumericSamplerAggregator,DiversifiedOrdinalsSamplerAggregator
public class SamplerAggregator extends DeferableBucketAggregator implements SingleBucketAggregator
Aggregate on only the top-scoring docs on a shard.
TODO currently the diversity feature of this agg offers only 'script' and
'field' as a means of generating a de-dup value. In future it would be nice
if users could use any of the "bucket" aggs syntax (geo, date histogram...)
as the basis for generating de-dup values. Their syntax for creating bucket
values would be preferable to users having to recreate this logic in a
'script' e.g. to turn a datetime in milliseconds into a month key value.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSamplerAggregator.ExecutionModeNested classes/interfaces inherited from class org.elasticsearch.search.aggregations.bucket.BucketsAggregator
BucketsAggregator.BucketBuilderForFixedCount<B>, BucketsAggregator.BucketBuilderForVariable<B>, BucketsAggregator.ResultBuilderForVariable<B>, BucketsAggregator.SingleBucketResultBuilderNested classes/interfaces inherited from class org.elasticsearch.search.aggregations.Aggregator
Aggregator.BucketComparator, Aggregator.Parser, Aggregator.SubAggCollectionMode -
Field Summary
Fields Modifier and Type Field Description protected BestDocsDeferringCollectorbddstatic org.elasticsearch.common.ParseFieldEXECUTION_HINT_FIELDstatic org.elasticsearch.common.ParseFieldMAX_DOCS_PER_VALUE_FIELDstatic org.elasticsearch.common.ParseFieldSHARD_SIZE_FIELDprotected intshardSizeFields inherited from class org.elasticsearch.search.aggregations.AggregatorBase
collectableSubAggregators, context, DEFAULT_WEIGHT, name, parent, subAggregators -
Method Summary
Modifier and Type Method Description InternalAggregation[]buildAggregations(long[] owningBucketOrds)Build the results of this aggregation.InternalAggregationbuildEmptyAggregation()Build an empty aggregation.protected voiddoClose()Release instance-specific data.DeferringBucketCollectorgetDeferringCollector()protected LeafBucketCollectorgetLeafCollector(org.apache.lucene.index.LeafReaderContext ctx, LeafBucketCollector sub)Get aLeafBucketCollectorfor the given ctx, which should delegate to the given collector.org.apache.lucene.search.ScoreModescoreMode()Most 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.DeferableBucketAggregator
beforeBuildingBuckets, collectDebugInfo, doPreCollectionMethods inherited from class org.elasticsearch.search.aggregations.bucket.BucketsAggregator
bucketComparator, bucketDocCount, buildAggregationsForFixedBucketCount, buildAggregationsForSingleBucket, buildAggregationsForVariableBuckets, buildSubAggsForAllBuckets, buildSubAggsForBuckets, buildSubAggsForBuckets, close, collectBucket, collectExistingBucket, descendsFromGlobalAggregator, getDocCounts, grow, incrementBucketDocCount, maxBucketOrd, mergeBuckets, resolveSortPathMethods inherited from class org.elasticsearch.search.aggregations.AggregatorBase
addRequestCircuitBreakerBytes, buildEmptySubAggregations, context, doPostCollection, getLeafCollector, metadata, name, parent, pointReaderIfAvailable, postCollection, preCollection, preGetSubLeafCollectors, subAggregator, subAggregators, toStringMethods inherited from class org.elasticsearch.search.aggregations.Aggregator
buildTopLevel, resolveSortPathOnValidAgg
-
Field Details
-
SHARD_SIZE_FIELD
public static final org.elasticsearch.common.ParseField SHARD_SIZE_FIELD -
MAX_DOCS_PER_VALUE_FIELD
public static final org.elasticsearch.common.ParseField MAX_DOCS_PER_VALUE_FIELD -
EXECUTION_HINT_FIELD
public static final org.elasticsearch.common.ParseField EXECUTION_HINT_FIELD -
shardSize
protected final int shardSize -
bdd
-
-
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
-
getDeferringCollector
- Overrides:
getDeferringCollectorin classDeferableBucketAggregator
-
shouldDefer
Description 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 classDeferableBucketAggregator- Parameters:
aggregator- the child aggregator- Returns:
- true if the aggregator should be deferred until a first pass at collection has completed
-
buildAggregations
Description copied from class:AggregatorBuild the results of this aggregation.- Specified by:
buildAggregationsin classAggregator- 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:
java.io.IOException
-
buildEmptyAggregation
Description copied from class:AggregatorBuild an empty aggregation.- Specified by:
buildEmptyAggregationin classAggregator
-
getLeafCollector
protected 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
-
doClose
protected void doClose()Description copied from class:AggregatorBaseRelease instance-specific data.- Overrides:
doClosein classAggregatorBase
-