Class InternalSingleBucketAggregation
java.lang.Object
org.elasticsearch.search.aggregations.InternalAggregation
org.elasticsearch.search.aggregations.bucket.InternalSingleBucketAggregation
- All Implemented Interfaces:
NamedWriteable
,Writeable
,ToXContent
,ToXContentFragment
,Aggregation
,SingleBucketAggregation
,HasAggregations
- Direct Known Subclasses:
InternalFilter
,InternalGlobal
,InternalMissing
,InternalNested
,InternalReverseNested
,InternalSampler
public abstract class InternalSingleBucketAggregation extends InternalAggregation implements SingleBucketAggregation
A base class for all the single bucket aggregations.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.search.aggregations.InternalAggregation
InternalAggregation.ReduceContext
Nested classes/interfaces inherited from interface org.elasticsearch.search.aggregations.Aggregation
Aggregation.CommonFields
Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.Params
Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V>
-
Field Summary
Fields inherited from class org.elasticsearch.search.aggregations.InternalAggregation
metaData, name
Fields inherited from interface org.elasticsearch.search.aggregations.Aggregation
TYPED_KEYS_DELIMITER
-
Constructor Summary
Constructors Modifier Constructor Description protected
InternalSingleBucketAggregation(java.lang.String name, long docCount, InternalAggregations aggregations, java.util.List<PipelineAggregator> pipelineAggregators, java.util.Map<java.lang.String,java.lang.Object> metaData)
Creates a single bucket aggregation.protected
InternalSingleBucketAggregation(StreamInput in)
Read from a stream. -
Method Summary
Modifier and Type Method Description InternalSingleBucketAggregation
create(InternalAggregations subAggregations)
Create a new copy of thisAggregation
with the same settings as thisAggregation
and contains the provided sub-aggregations.protected void
doWriteTo(StreamOutput out)
XContentBuilder
doXContentBody(XContentBuilder builder, ToXContent.Params params)
boolean
equals(java.lang.Object obj)
InternalAggregations
getAggregations()
long
getDocCount()
java.lang.Object
getProperty(java.util.List<java.lang.String> path)
int
hashCode()
protected abstract InternalSingleBucketAggregation
newAggregation(java.lang.String name, long docCount, InternalAggregations subAggregations)
Create a new empty sub aggregation.InternalAggregation
reduce(java.util.List<InternalAggregation> aggregations, InternalAggregation.ReduceContext reduceContext)
Reduces the given aggregations to a single one and returns it.InternalAggregation
reducePipelines(InternalAggregation reducedAggs, InternalAggregation.ReduceContext reduceContext)
UnlikeInternalAggregation.reducePipelines(InternalAggregation, ReduceContext)
, a single-bucket agg needs to first reduce the aggs in it's bucket (and their parent pipelines) before allowing sibling pipelines to reduceMethods inherited from class org.elasticsearch.search.aggregations.InternalAggregation
getMetaData, getName, getProperty, getType, isMapped, pipelineAggregators, readSize, toString, toXContent, writeSize, writeTo
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.elasticsearch.search.aggregations.Aggregation
getMetaData, getName, getType
-
Constructor Details
-
InternalSingleBucketAggregation
protected InternalSingleBucketAggregation(java.lang.String name, long docCount, InternalAggregations aggregations, java.util.List<PipelineAggregator> pipelineAggregators, java.util.Map<java.lang.String,java.lang.Object> metaData)Creates a single bucket aggregation.- Parameters:
name
- The aggregation name.docCount
- The document count in the single bucket.aggregations
- The already built sub-aggregations that are associated with the bucket.
-
InternalSingleBucketAggregation
Read from a stream.- Throws:
java.io.IOException
-
-
Method Details
-
doWriteTo
- Specified by:
doWriteTo
in classInternalAggregation
- Throws:
java.io.IOException
-
getDocCount
public long getDocCount()- Specified by:
getDocCount
in interfaceSingleBucketAggregation
- Returns:
- The number of documents in this bucket
-
getAggregations
- Specified by:
getAggregations
in interfaceHasAggregations
- Specified by:
getAggregations
in interfaceSingleBucketAggregation
- Returns:
- The sub-aggregations of this bucket
-
create
Create a new copy of thisAggregation
with the same settings as thisAggregation
and contains the provided sub-aggregations.- Parameters:
subAggregations
- the buckets to use in the newAggregation
- Returns:
- the new
Aggregation
-
newAggregation
protected abstract InternalSingleBucketAggregation newAggregation(java.lang.String name, long docCount, InternalAggregations subAggregations)Create a new empty sub aggregation. This must be a new instance on each call. -
reduce
public InternalAggregation reduce(java.util.List<InternalAggregation> aggregations, InternalAggregation.ReduceContext reduceContext)Description copied from class:InternalAggregation
Reduces the given aggregations to a single one and returns it. In most cases, the assumption will be the all given aggregations are of the same type (the same type as this aggregation). For best efficiency, when implementing, try reusing an existing instance (typically the first in the given list) to save on redundant object construction.- Specified by:
reduce
in classInternalAggregation
-
reducePipelines
public final InternalAggregation reducePipelines(InternalAggregation reducedAggs, InternalAggregation.ReduceContext reduceContext)UnlikeInternalAggregation.reducePipelines(InternalAggregation, ReduceContext)
, a single-bucket agg needs to first reduce the aggs in it's bucket (and their parent pipelines) before allowing sibling pipelines to reduce- Overrides:
reducePipelines
in classInternalAggregation
-
getProperty
public java.lang.Object getProperty(java.util.List<java.lang.String> path)- Specified by:
getProperty
in classInternalAggregation
-
doXContentBody
public XContentBuilder doXContentBody(XContentBuilder builder, ToXContent.Params params) throws java.io.IOException- Specified by:
doXContentBody
in classInternalAggregation
- Throws:
java.io.IOException
-
equals
public boolean equals(java.lang.Object obj)- Overrides:
equals
in classInternalAggregation
-
hashCode
public int hashCode()- Overrides:
hashCode
in classInternalAggregation
-