Class InternalTerms<A extends InternalTerms<A,B>,B extends InternalTerms.Bucket<B>>
java.lang.Object
org.elasticsearch.search.aggregations.InternalAggregation
org.elasticsearch.search.aggregations.InternalMultiBucketAggregation<A,B>
org.elasticsearch.search.aggregations.bucket.terms.InternalTerms<A,B>
- All Implemented Interfaces:
NamedWriteable
,Writeable
,ToXContent
,ToXContentFragment
,Aggregation
,MultiBucketsAggregation
,Terms
- Direct Known Subclasses:
InternalMappedTerms
,UnmappedTerms
public abstract class InternalTerms<A extends InternalTerms<A,B>,B extends InternalTerms.Bucket<B>> extends InternalMultiBucketAggregation<A,B> implements Terms
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
InternalTerms.Bucket<B extends InternalTerms.Bucket<B>>
Nested classes/interfaces inherited from class org.elasticsearch.search.aggregations.InternalMultiBucketAggregation
InternalMultiBucketAggregation.InternalBucket
Nested classes/interfaces inherited from class org.elasticsearch.search.aggregations.InternalAggregation
InternalAggregation.ReduceContext, InternalAggregation.ReduceContextBuilder
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 Modifier and Type Field Description protected static ParseField
DOC_COUNT_ERROR_UPPER_BOUND_FIELD_NAME
protected long
minDocCount
protected BucketOrder
order
protected int
requiredSize
protected static ParseField
SUM_OF_OTHER_DOC_COUNTS
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
InternalTerms(java.lang.String name, BucketOrder order, int requiredSize, long minDocCount, java.util.List<PipelineAggregator> pipelineAggregators, java.util.Map<java.lang.String,java.lang.Object> metaData)
protected
InternalTerms(StreamInput in)
Read from a stream. -
Method Summary
Modifier and Type Method Description protected abstract A
create(java.lang.String name, java.util.List<B> buckets, long docCountError, long otherDocCount)
protected abstract B[]
createBucketsArray(int size)
Create an array to hold some buckets.protected void
doWriteTo(StreamOutput out)
protected static XContentBuilder
doXContentCommon(XContentBuilder builder, ToXContent.Params params, long docCountError, long otherDocCount, java.util.List<? extends InternalTerms.Bucket> buckets)
boolean
equals(java.lang.Object obj)
abstract B
getBucketByKey(java.lang.String term)
Get the bucket for the given term, or null if there is no such bucket.abstract java.util.List<B>
getBuckets()
Return the sorted list of the buckets in this terms aggregation.protected abstract int
getShardSize()
int
hashCode()
InternalAggregation
reduce(java.util.List<InternalAggregation> aggregations, InternalAggregation.ReduceContext reduceContext)
Reduces the given aggregations to a single one and returns it.protected B
reduceBucket(java.util.List<B> buckets, InternalAggregation.ReduceContext context)
Reduce a list of same-keyed buckets (from multiple shards) to a single bucket.protected abstract void
setDocCountError(long docCountError)
protected abstract void
writeTermTypeInfoTo(StreamOutput out)
Methods inherited from class org.elasticsearch.search.aggregations.InternalMultiBucketAggregation
copyWithRewritenBuckets, countInnerBucket, countInnerBucket, create, createBucket, getProperty, reducePipelines
Methods inherited from class org.elasticsearch.search.aggregations.InternalAggregation
doXContentBody, getMetaData, getName, getProperty, getType, isMapped, pipelineAggregators, readSize, sortValue, sortValue, 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
Methods inherited from interface org.elasticsearch.search.aggregations.bucket.terms.Terms
getDocCountError, getSumOfOtherDocCounts
-
Field Details
-
DOC_COUNT_ERROR_UPPER_BOUND_FIELD_NAME
-
SUM_OF_OTHER_DOC_COUNTS
-
order
-
requiredSize
protected final int requiredSize -
minDocCount
protected final long minDocCount
-
-
Constructor Details
-
InternalTerms
protected InternalTerms(java.lang.String name, BucketOrder order, int requiredSize, long minDocCount, java.util.List<PipelineAggregator> pipelineAggregators, java.util.Map<java.lang.String,java.lang.Object> metaData) -
InternalTerms
Read from a stream.- Throws:
java.io.IOException
-
-
Method Details
-
doWriteTo
- Specified by:
doWriteTo
in classInternalAggregation
- Throws:
java.io.IOException
-
writeTermTypeInfoTo
- Throws:
java.io.IOException
-
getBuckets
Description copied from interface:Terms
Return the sorted list of the buckets in this terms aggregation.- Specified by:
getBuckets
in interfaceMultiBucketsAggregation
- Specified by:
getBuckets
in interfaceTerms
- Specified by:
getBuckets
in classInternalMultiBucketAggregation<A extends InternalTerms<A,B>,B extends InternalTerms.Bucket<B>>
- Returns:
- The buckets of this aggregation.
-
getBucketByKey
Description copied from interface:Terms
Get the bucket for the given term, or null if there is no such bucket.- Specified by:
getBucketByKey
in interfaceTerms
-
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
-
reduceBucket
Description copied from class:InternalMultiBucketAggregation
Reduce a list of same-keyed buckets (from multiple shards) to a single bucket. This requires all buckets to have the same key.- Specified by:
reduceBucket
in classInternalMultiBucketAggregation<A extends InternalTerms<A,B>,B extends InternalTerms.Bucket<B>>
-
setDocCountError
protected abstract void setDocCountError(long docCountError) -
getShardSize
protected abstract int getShardSize() -
create
-
createBucketsArray
Create an array to hold some buckets. Used in collecting the results. -
equals
public boolean equals(java.lang.Object obj)- Overrides:
equals
in classInternalAggregation
-
hashCode
public int hashCode()- Overrides:
hashCode
in classInternalAggregation
-
doXContentCommon
protected static XContentBuilder doXContentCommon(XContentBuilder builder, ToXContent.Params params, long docCountError, long otherDocCount, java.util.List<? extends InternalTerms.Bucket> buckets) throws java.io.IOException- Throws:
java.io.IOException
-