Class AggregationBuilder
java.lang.Object
org.elasticsearch.search.aggregations.AggregationBuilder
- All Implemented Interfaces:
NamedWriteable,Writeable,ToXContent,ToXContentFragment,BaseAggregationBuilder
- Direct Known Subclasses:
AbstractAggregationBuilder
public abstract class AggregationBuilder extends java.lang.Object implements NamedWriteable, ToXContentFragment, BaseAggregationBuilder
A factory that knows how to create an
Aggregator of a specific type.-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAggregationBuilder.CommonFieldsCommon xcontent fields shared among aggregator buildersNested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.ParamsNested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V> -
Field Summary
Fields Modifier and Type Field Description protected AggregatorFactories.BuilderfactoriesBuilderprotected java.lang.Stringname -
Constructor Summary
Constructors Modifier Constructor Description protectedAggregationBuilder(java.lang.String name)Constructs a new aggregation builder.protectedAggregationBuilder(AggregationBuilder clone, AggregatorFactories.Builder factoriesBuilder) -
Method Summary
Modifier and Type Method Description protected abstract AggregatorFactorybuild(QueryShardContext queryShardContext, AggregatorFactory parent)Internal: build anAggregatorFactorybased on the configuration of this builder.protected AggregationBuilderdoRewrite(QueryRewriteContext queryShardContext)Rewrites this aggregation builder into its primitive form.abstract java.util.Map<java.lang.String,java.lang.Object>getMetaData()Return any associated metadata with thisAggregationBuilder.java.lang.StringgetName()Return this aggregation's name.java.util.Collection<PipelineAggregationBuilder>getPipelineAggregations()Return the configured set of pipeline aggregationsjava.util.Collection<AggregationBuilder>getSubAggregations()Return the configured set of subaggregationsAggregationBuilderrewrite(QueryRewriteContext context)abstract AggregationBuildersetMetaData(java.util.Map<java.lang.String,java.lang.Object> metaData)Associate metadata with thisAggregationBuilder.protected abstract AggregationBuildershallowCopy(AggregatorFactories.Builder factoriesBuilder, java.util.Map<java.lang.String,java.lang.Object> metaData)Create a shallow copy of this builder and replacingfactoriesBuilderandmetaData.abstract AggregationBuildersubAggregation(AggregationBuilder aggregation)Add a sub aggregation to this builder.abstract AggregationBuildersubAggregation(PipelineAggregationBuilder aggregation)Add a sub aggregation to this builder.abstract AggregationBuildersubAggregations(AggregatorFactories.Builder subFactories)Internal: Registers sub-factories with this factory.java.lang.StringtoString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.elasticsearch.search.aggregations.BaseAggregationBuilder
getType
-
Field Details
-
name
protected final java.lang.String name -
factoriesBuilder
-
-
Constructor Details
-
AggregationBuilder
protected AggregationBuilder(java.lang.String name)Constructs a new aggregation builder.- Parameters:
name- The aggregation name
-
AggregationBuilder
protected AggregationBuilder(AggregationBuilder clone, AggregatorFactories.Builder factoriesBuilder)
-
-
Method Details
-
getName
public java.lang.String getName()Return this aggregation's name. -
build
protected abstract AggregatorFactory build(QueryShardContext queryShardContext, AggregatorFactory parent) throws java.io.IOExceptionInternal: build anAggregatorFactorybased on the configuration of this builder.- Throws:
java.io.IOException
-
setMetaData
public abstract AggregationBuilder setMetaData(java.util.Map<java.lang.String,java.lang.Object> metaData)Associate metadata with thisAggregationBuilder.- Specified by:
setMetaDatain interfaceBaseAggregationBuilder
-
getMetaData
public abstract java.util.Map<java.lang.String,java.lang.Object> getMetaData()Return any associated metadata with thisAggregationBuilder. -
subAggregation
Add a sub aggregation to this builder. -
subAggregation
Add a sub aggregation to this builder. -
getSubAggregations
Return the configured set of subaggregations -
getPipelineAggregations
Return the configured set of pipeline aggregations -
subAggregations
Internal: Registers sub-factories with this factory. The sub-factory will be responsible for the creation of sub-aggregators under the aggregator created by this factory. This is only for use byAggregatorFactories.parseAggregators(XContentParser).- Specified by:
subAggregationsin interfaceBaseAggregationBuilder- Parameters:
subFactories- The sub-factories- Returns:
- this factory (fluent interface)
-
shallowCopy
protected abstract AggregationBuilder shallowCopy(AggregatorFactories.Builder factoriesBuilder, java.util.Map<java.lang.String,java.lang.Object> metaData)Create a shallow copy of this builder and replacingfactoriesBuilderandmetaData. Used byrewrite(QueryRewriteContext). -
rewrite
- Throws:
java.io.IOException
-
doRewrite
protected AggregationBuilder doRewrite(QueryRewriteContext queryShardContext) throws java.io.IOExceptionRewrites this aggregation builder into its primitive form. By default this method return the builder itself. If the builder did not change the identity reference must be returned otherwise the builder will be rewritten infinitely.- Throws:
java.io.IOException
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-