Class TopBucketBuilder<B extends InternalMultiBucketAggregation.InternalBucket>
java.lang.Object
org.elasticsearch.search.aggregations.TopBucketBuilder<B>
public class TopBucketBuilder<B extends InternalMultiBucketAggregation.InternalBucket>
extends Object
Merges many buckets into the "top" buckets as sorted by
BucketOrder
.-
Constructor Summary
ConstructorDescriptionTopBucketBuilder(int size, BucketOrder order, Consumer<DelayedBucket<B>> nonCompetitive)
Create aTopBucketBuilder
to build a list of the top buckets. -
Method Summary
-
Constructor Details
-
TopBucketBuilder
Create aTopBucketBuilder
to build a list of the top buckets.- Parameters:
size
- the requested size of the listorder
- the sort order of the bucketsnonCompetitive
- called with non-competitive buckets
-
-
Method Details
-
add
Add a bucket if it is competitive. If there isn't space but the bucket is competitive then this will drop the least competitive bucket to make room for the new bucket.Instead of operating on complete buckets we this operates on a wrapper containing what we need to merge the buckets called
DelayedBucket
. We can evaluate some common sort criteria directly on the DelayedBuckets so we only need to merge exactly the sub-buckets we need. -
build
Return the most competitive buckets sorted by the comparator.
-