public class SamplerAggregator extends SingleBucketAggregator
Modifier and Type | Class and Description |
---|---|
static class |
SamplerAggregator.ExecutionMode |
Aggregator.Parser, Aggregator.SubAggCollectionMode
Modifier and Type | Field and Description |
---|---|
protected BestDocsDeferringCollector |
bdd |
static ParseField |
EXECUTION_HINT_FIELD |
static ParseField |
MAX_DOCS_PER_VALUE_FIELD |
static ParseField |
SHARD_SIZE_FIELD |
protected int |
shardSize |
collectableSubAggregators, context, DEFAULT_WEIGHT, name, parent, subAggregators
NO_OP_COLLECTOR
Constructor and Description |
---|
SamplerAggregator(java.lang.String name,
int shardSize,
AggregatorFactories factories,
SearchContext context,
Aggregator parent,
java.util.List<PipelineAggregator> pipelineAggregators,
java.util.Map<java.lang.String,java.lang.Object> metaData) |
Modifier and Type | Method and Description |
---|---|
InternalAggregation |
buildAggregation(long owningBucketOrdinal)
Build an aggregation for data that has been collected into
bucket . |
InternalAggregation |
buildEmptyAggregation()
Build an empty aggregation.
|
protected void |
doClose()
Release instance-specific data.
|
DeferringBucketCollector |
getDeferringCollector() |
protected LeafBucketCollector |
getLeafCollector(org.apache.lucene.index.LeafReaderContext ctx,
LeafBucketCollector sub)
Get a
LeafBucketCollector for the given ctx, which should
delegate to the given collector. |
boolean |
needsScores()
Most aggregators don't need scores, make sure to extend this method if
your aggregator needs them.
|
protected boolean |
shouldDefer(Aggregator aggregator)
This method should be overidden 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.
|
bucketAggregations, bucketDocCount, bucketEmptyAggregations, close, collectBucket, collectExistingBucket, getDocCounts, grow, incrementBucketDocCount, maxBucketOrd
buildEmptySubAggregations, context, doPostCollection, doPreCollection, getLeafCollector, metaData, name, parent, pipelineAggregators, postCollection, preCollection, runDeferredCollections, subAggregator, subAggregators, toString
descendsFromBucketAggregator
wrap
public static final ParseField SHARD_SIZE_FIELD
public static final ParseField MAX_DOCS_PER_VALUE_FIELD
public static final ParseField EXECUTION_HINT_FIELD
protected final int shardSize
protected BestDocsDeferringCollector bdd
public SamplerAggregator(java.lang.String name, int shardSize, AggregatorFactories factories, SearchContext context, Aggregator parent, java.util.List<PipelineAggregator> pipelineAggregators, java.util.Map<java.lang.String,java.lang.Object> metaData) throws java.io.IOException
java.io.IOException
public boolean needsScores()
AggregatorBase
needsScores
in interface org.apache.lucene.search.Collector
needsScores
in class AggregatorBase
public DeferringBucketCollector getDeferringCollector()
getDeferringCollector
in class AggregatorBase
protected boolean shouldDefer(Aggregator aggregator)
AggregatorBase
AggregatorBase.runDeferredCollections(long...)
for the selected set of buckets that survive the pruning.shouldDefer
in class AggregatorBase
aggregator
- the child aggregatorpublic InternalAggregation buildAggregation(long owningBucketOrdinal) throws java.io.IOException
Aggregator
bucket
.buildAggregation
in class Aggregator
java.io.IOException
public InternalAggregation buildEmptyAggregation()
Aggregator
buildEmptyAggregation
in class Aggregator
protected LeafBucketCollector getLeafCollector(org.apache.lucene.index.LeafReaderContext ctx, LeafBucketCollector sub) throws java.io.IOException
AggregatorBase
LeafBucketCollector
for the given ctx, which should
delegate to the given collector.getLeafCollector
in class AggregatorBase
java.io.IOException
protected void doClose()
AggregatorBase
doClose
in class AggregatorBase