Module org.elasticsearch.server
Class LongKeyedBucketOrds
java.lang.Object
org.elasticsearch.search.aggregations.bucket.terms.LongKeyedBucketOrds
- All Implemented Interfaces:
Closeable,AutoCloseable,Releasable
- Direct Known Subclasses:
LongKeyedBucketOrds.FromMany,LongKeyedBucketOrds.FromManySmall,LongKeyedBucketOrds.FromSingle
Maps owning bucket ordinals and long bucket keys to bucket ordinals.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceAn iterator for buckets inside a particularowningBucketOrd.static classImplementation that works properly when collecting from many buckets.static classImplementation that packs theowningbucketOrdinto the top bits of alongand uses the bottom bits for the value.static classImplementation that only works if it is collecting from a single bucket. -
Method Summary
Modifier and TypeMethodDescriptionabstract longadd(long owningBucketOrd, long value) Add theowningBucketOrd, valuepair.abstract longbucketsInOrd(long owningBucketOrd) Count the buckets inowningBucketOrd.static LongKeyedBucketOrdsbuild(BigArrays bigArrays, CardinalityUpperBound cardinality) Build aLongKeyedBucketOrdswho's values have unknown bounds.static LongKeyedBucketOrdsbuildForValueRange(BigArrays bigArrays, CardinalityUpperBound cardinality, long min, long max) Build aLongKeyedBucketOrdswho's values have known bounds.voidclose()abstract Stringdecribe()Description used in profile results.abstract longfind(long owningBucketOrd, long value) Find theowningBucketOrd, valuepair.abstract longget(long ordinal) Returns the value currently associated with the bucket ordinal.keyOrderedIterator(long owningBucketOrd) Return an iterator for all keys in the given owning bucket, ordered in natural sort order.abstract longThe maximum possible usedowningBucketOrd.abstract LongKeyedBucketOrds.BucketOrdsEnumordsEnum(long owningBucketOrd) Build an iterator for buckets insideowningBucketOrdin order of increasing ord.abstract longsize()The number of collected buckets.
-
Method Details
-
build
Build aLongKeyedBucketOrdswho's values have unknown bounds.- Parameters:
cardinality- - This should come from the owning aggregation, and is used as an upper bound on the owning bucket ordinals.
-
buildForValueRange
public static LongKeyedBucketOrds buildForValueRange(BigArrays bigArrays, CardinalityUpperBound cardinality, long min, long max) Build aLongKeyedBucketOrdswho's values have known bounds.- Parameters:
cardinality- - This should come from the owning aggregation, and is used as an upper bound on the owning bucket ordinals.min- - The minimum key value for this aggregationmax- - The maximum key value for this aggregation
-
add
public abstract long add(long owningBucketOrd, long value) Add theowningBucketOrd, valuepair. Return the ord for their bucket if they have yet to be added, or-1-ordif they were already present. -
bucketsInOrd
public abstract long bucketsInOrd(long owningBucketOrd) Count the buckets inowningBucketOrd.Some aggregations expect this to be fast but most wouldn't mind particularly if it weren't.
-
find
public abstract long find(long owningBucketOrd, long value) Find theowningBucketOrd, valuepair. Return the ord for their bucket if they have been added or-1if they haven't. -
get
public abstract long get(long ordinal) Returns the value currently associated with the bucket ordinal. -
size
public abstract long size()The number of collected buckets. -
maxOwningBucketOrd
public abstract long maxOwningBucketOrd()The maximum possible usedowningBucketOrd. -
decribe
Description used in profile results. -
ordsEnum
Build an iterator for buckets insideowningBucketOrdin order of increasing ord.When this is first returns it is "unpositioned" and you must call
LongKeyedBucketOrds.BucketOrdsEnum.next()to move it to the first value. -
keyOrderedIterator
Return an iterator for all keys in the given owning bucket, ordered in natural sort order. This is suitable for aligning buckets across different instances of an aggregation.- Parameters:
owningBucketOrd- Only return keys that occured under this owning bucket- Returns:
- a sorted iterator of long key values
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceReleasable
-