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.bucket.BucketsAggregator
docCountProviderFields inherited from class org.elasticsearch.search.aggregations.AggregatorBase
collectableSubAggregators, DEFAULT_WEIGHT, name, parent, subAggregatorsFields inherited from class org.elasticsearch.search.aggregations.BucketCollector
NO_OP_COLLECTOR -
Method Summary
Modifier and Type Method Description InternalAggregation[]buildAggregations(long[] owningBucketOrds)Build the results of this aggregation.DeferringBucketCollectorbuildDeferringCollector()Build theDeferringBucketCollector.InternalAggregationbuildEmptyAggregation()Build an empty aggregation.protected voiddoClose()Release instance-specific data.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
collectDebugInfo, deferringCollector, doPreCollection, prepareSubAggsMethods 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, preGetSubLeafCollectors, resolveSortPath, rewriteBucketsMethods inherited from class org.elasticsearch.search.aggregations.AggregatorBase
addRequestCircuitBreakerBytes, bigArrays, buildEmptySubAggregations, doPostCollection, getLeafCollector, metadata, name, parent, pointReaderIfAvailable, postCollection, preCollection, searcher, subAggregator, subAggregators, topLevelQuery, toStringMethods inherited from class org.elasticsearch.search.aggregations.Aggregator
buildTopLevel, resolveSortPathOnValidAggMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
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
-
buildDeferringCollector
Description copied from class:DeferableBucketAggregatorBuild theDeferringBucketCollector. The default implementation replays all hits against the buckets selected by {#linkDeferringBucketCollector.prepareSelectedBuckets(long...).- Overrides:
buildDeferringCollectorin 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
-