Class InternalHistogram
java.lang.Object
org.elasticsearch.search.aggregations.InternalAggregation
org.elasticsearch.search.aggregations.InternalMultiBucketAggregation<InternalHistogram,InternalHistogram.Bucket>
org.elasticsearch.search.aggregations.bucket.histogram.InternalHistogram
- All Implemented Interfaces:
NamedWriteable
,Writeable
,org.elasticsearch.common.xcontent.ToXContent
,org.elasticsearch.common.xcontent.ToXContentFragment
,Aggregation
,Histogram
,HistogramFactory
,MultiBucketsAggregation
public final class InternalHistogram
extends InternalMultiBucketAggregation<InternalHistogram,InternalHistogram.Bucket>
implements Histogram, HistogramFactory
Implementation of
Histogram
.-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static class
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
org.elasticsearch.common.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.common.xcontent.ToXContent.MapParams, org.elasticsearch.common.xcontent.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
Fields inherited from interface org.elasticsearch.search.aggregations.bucket.histogram.Histogram
EXTENDED_BOUNDS_FIELD, HARD_BOUNDS_FIELD, INTERVAL_FIELD, KEYED_FIELD, MIN_DOC_COUNT_FIELD, OFFSET_FIELD, ORDER_FIELD
Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
-
Constructor Summary
ConstructorDescriptionInternalHistogram(String name, List<InternalHistogram.Bucket> buckets, BucketOrder order, long minDocCount, InternalHistogram.EmptyBucketInfo emptyBucketInfo, DocValueFormat formatter, boolean keyed, Map<String,Object> metadata)
Stream from a stream. -
Method Summary
Modifier and TypeMethodDescriptioncreate(List<InternalHistogram.Bucket> buckets)
Create a new copy of thisAggregation
with the same settings as thisAggregation
and contains the provided buckets.Create anInternalAggregation
object that wraps the given buckets.createBucket(Number key, long docCount, InternalAggregations aggregations)
Create aMultiBucketsAggregation.Bucket
object that wraps the given key, document count and aggregations.createBucket(InternalAggregations aggregations, InternalHistogram.Bucket prototype)
Create a newInternalMultiBucketAggregation.InternalBucket
using the provided prototype bucket and aggregations.protected void
doWriteTo(StreamOutput out)
org.elasticsearch.common.xcontent.XContentBuilder
doXContentBody(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)
boolean
getKey(MultiBucketsAggregation.Bucket bucket)
Get the key for the given bucket.Returns the name of the writeable objectint
hashCode()
Given a key returned byHistogramFactory.getKey(org.elasticsearch.search.aggregations.bucket.MultiBucketsAggregation.Bucket)
, compute the lowest key that is greater than it.reduce(List<InternalAggregation> aggregations, InternalAggregation.ReduceContext reduceContext)
Reduces the given aggregations to a single one and returns it.protected InternalHistogram.Bucket
reduceBucket(List<InternalHistogram.Bucket> buckets, InternalAggregation.ReduceContext context)
Reduce a list of same-keyed buckets (from multiple shards) to a single bucket.Methods inherited from class org.elasticsearch.search.aggregations.InternalMultiBucketAggregation
copyWithRewritenBuckets, countInnerBucket, countInnerBucket, forEachBucket, getProperty, mustReduceOnSingleInternalAgg, reducePipelines
Methods inherited from class org.elasticsearch.search.aggregations.InternalAggregation
getMetadata, getName, getProperty, getType, isMapped, mergePipelineTreeForBWCSerialization, pipelineAggregatorsForBwcSerialization, 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.common.xcontent.ToXContent
toXContent
Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentFragment
isFragment
-
Constructor Details
-
InternalHistogram
public InternalHistogram(String name, List<InternalHistogram.Bucket> buckets, BucketOrder order, long minDocCount, InternalHistogram.EmptyBucketInfo emptyBucketInfo, DocValueFormat formatter, boolean keyed, Map<String,Object> metadata) -
InternalHistogram
Stream from a stream.- Throws:
IOException
-
-
Method Details
-
doWriteTo
- Specified by:
doWriteTo
in classInternalAggregation
- Throws:
IOException
-
getWriteableName
Description copied from interface:NamedWriteable
Returns the name of the writeable object- Specified by:
getWriteableName
in interfaceNamedWriteable
-
getBuckets
- Specified by:
getBuckets
in interfaceHistogram
- Specified by:
getBuckets
in interfaceMultiBucketsAggregation
- Specified by:
getBuckets
in classInternalMultiBucketAggregation<InternalHistogram,InternalHistogram.Bucket>
- Returns:
- The buckets of this aggregation.
-
create
Description copied from class:InternalMultiBucketAggregation
Create a new copy of thisAggregation
with the same settings as thisAggregation
and contains the provided buckets.- Specified by:
create
in classInternalMultiBucketAggregation<InternalHistogram,InternalHistogram.Bucket>
- Parameters:
buckets
- the buckets to use in the newAggregation
- Returns:
- the new
Aggregation
-
createBucket
public InternalHistogram.Bucket createBucket(InternalAggregations aggregations, InternalHistogram.Bucket prototype)Description copied from class:InternalMultiBucketAggregation
Create a newInternalMultiBucketAggregation.InternalBucket
using the provided prototype bucket and aggregations.- Specified by:
createBucket
in classInternalMultiBucketAggregation<InternalHistogram,InternalHistogram.Bucket>
- Parameters:
aggregations
- the aggregations for the new bucketprototype
- the bucket to use as a prototype- Returns:
- the new bucket
-
reduceBucket
protected InternalHistogram.Bucket reduceBucket(List<InternalHistogram.Bucket> buckets, InternalAggregation.ReduceContext context)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<InternalHistogram,InternalHistogram.Bucket>
-
reduce
public InternalAggregation reduce(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
- See Also:
InternalAggregation.mustReduceOnSingleInternalAgg()
-
doXContentBody
public org.elasticsearch.common.xcontent.XContentBuilder doXContentBody(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws IOException- Specified by:
doXContentBody
in classInternalAggregation
- Throws:
IOException
-
getKey
Description copied from interface:HistogramFactory
Get the key for the given bucket. Date histograms must return the number of millis since Epoch of the bucket key while numeric histograms must return the double value of the key.- Specified by:
getKey
in interfaceHistogramFactory
-
nextKey
Description copied from interface:HistogramFactory
Given a key returned byHistogramFactory.getKey(org.elasticsearch.search.aggregations.bucket.MultiBucketsAggregation.Bucket)
, compute the lowest key that is greater than it.- Specified by:
nextKey
in interfaceHistogramFactory
-
createAggregation
Description copied from interface:HistogramFactory
Create anInternalAggregation
object that wraps the given buckets.- Specified by:
createAggregation
in interfaceHistogramFactory
-
createBucket
public InternalHistogram.Bucket createBucket(Number key, long docCount, InternalAggregations aggregations)Description copied from interface:HistogramFactory
Create aMultiBucketsAggregation.Bucket
object that wraps the given key, document count and aggregations.- Specified by:
createBucket
in interfaceHistogramFactory
-
equals
- Overrides:
equals
in classInternalAggregation
-
hashCode
public int hashCode()- Overrides:
hashCode
in classInternalAggregation
-