Class AggregatorFactory
java.lang.Object
org.elasticsearch.search.aggregations.AggregatorFactory
- Direct Known Subclasses:
AdjacencyMatrixAggregatorFactory,FilterAggregatorFactory,FiltersAggregatorFactory,GlobalAggregatorFactory,MultiValuesSourceAggregatorFactory,NestedAggregatorFactory,ReverseNestedAggregatorFactory,SamplerAggregatorFactory,SignificantTextAggregatorFactory,ValuesSourceAggregatorFactory
public abstract class AggregatorFactory
extends java.lang.Object
-
Field Summary
Fields Modifier and Type Field Description protected AggregationContextcontextprotected AggregatorFactoriesfactoriesprotected java.util.Map<java.lang.String,java.lang.Object>metadataprotected java.lang.Stringnameprotected AggregatorFactoryparent -
Constructor Summary
Constructors Constructor Description AggregatorFactory(java.lang.String name, AggregationContext context, AggregatorFactory parent, AggregatorFactories.Builder subFactoriesBuilder, java.util.Map<java.lang.String,java.lang.Object> metadata)Constructs a new aggregator factory. -
Method Summary
Modifier and Type Method Description Aggregatorcreate(Aggregator parent, CardinalityUpperBound cardinality)Creates the aggregator.protected abstract AggregatorcreateInternal(Aggregator parent, CardinalityUpperBound cardinality, java.util.Map<java.lang.String,java.lang.Object> metadata)voiddoValidate()AggregatorFactorygetParent()java.lang.StringgetStatsSubtype()Returns the aggregation subtype for nodes usage stats.java.lang.Stringname()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
name
protected final java.lang.String name -
parent
-
factories
-
metadata
protected final java.util.Map<java.lang.String,java.lang.Object> metadata -
context
-
-
Constructor Details
-
AggregatorFactory
public AggregatorFactory(java.lang.String name, AggregationContext context, AggregatorFactory parent, AggregatorFactories.Builder subFactoriesBuilder, java.util.Map<java.lang.String,java.lang.Object> metadata) throws java.io.IOExceptionConstructs a new aggregator factory.- Parameters:
name- The aggregation name- Throws:
java.io.IOException- if an error occurs creating the factory
-
-
Method Details
-
name
public java.lang.String name() -
doValidate
public void doValidate() -
createInternal
protected abstract Aggregator createInternal(Aggregator parent, CardinalityUpperBound cardinality, java.util.Map<java.lang.String,java.lang.Object> metadata) throws java.io.IOException- Throws:
java.io.IOException
-
create
public final Aggregator create(Aggregator parent, CardinalityUpperBound cardinality) throws java.io.IOExceptionCreates the aggregator.- Parameters:
parent- The parent aggregator (if this is a top level factory, the parent will benull)cardinality- Upper bound of the number ofowningBucketOrds that theAggregatorcreated by this method will be asked to collect.- Throws:
java.io.IOException
-
getParent
-
getStatsSubtype
public java.lang.String getStatsSubtype()Returns the aggregation subtype for nodes usage stats.It should match the types registered by calling AggregationUsageService. In other words, it should be ValueSourcesType for the VST aggregations OTHER_SUBTYPE for all other aggregations.
-