Class AggregationPath
java.lang.Object
org.elasticsearch.search.aggregations.support.AggregationPath
public class AggregationPath
extends java.lang.Object
A path that can be used to sort/order buckets (in some multi-bucket aggregations, e.g. terms & histogram) based on
sub-aggregations. The path may point to either a single-bucket aggregation or a metrics aggregation. If the path
points to a single-bucket aggregation, the sort will be applied based on the
doc_count of the bucket. If this
path points to a metrics aggregation, if it's a single-value metrics (eg. avg, max, min, etc..) the sort will be
applied on that single value. If it points to a multi-value metrics, the path should point out what metric should be
the sort-by value.
The path has the following form:
<aggregation_name>['>'<aggregation_name>*]['.'<metric_name>]
Examples:
-
agg1>agg2>agg3- where agg1, agg2 and agg3 are all single-bucket aggs (eg filter, nested, missing, etc..). In this case, the order will be based on the number of documents underagg3. -
agg1>agg2>agg3- where agg1 and agg2 are both single-bucket aggs and agg3 is a single-value metrics agg (eg avg, max, min, etc..). In this case, the order will be based on the value ofagg3. -
agg1>agg2>agg3.avg- where agg1 and agg2 are both single-bucket aggs and agg3 is a multi-value metrics agg (eg stats, extended_stats, etc...). In this case, the order will be based on the avg value ofagg3.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAggregationPath.PathElement -
Constructor Summary
Constructors Constructor Description AggregationPath(java.util.List<AggregationPath.PathElement> tokens) -
Method Summary
Modifier and Type Method Description Aggregator.BucketComparatorbucketComparator(Aggregator root, SortOrder order)booleanequals(java.lang.Object obj)java.util.List<AggregationPath.PathElement>getPathElements()java.util.List<java.lang.String>getPathElementsAsStringList()inthashCode()AggregationPath.PathElementlastPathElement()static AggregationPathparse(java.lang.String path)AggregatorresolveAggregator(Aggregator root)Resolves the Aggregator pointed to by this path against the given root Aggregator.AggregatorresolveTopmostAggregator(Aggregator root)Resolves the Aggregator pointed to by the first element of this path against the given root Aggregator.doubleresolveValue(InternalAggregations aggregations)Looks up the value of this path against a set of aggregation results.java.lang.StringtoString()
-
Constructor Details
-
Method Details
-
parse
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-
lastPathElement
-
getPathElements
-
getPathElementsAsStringList
public java.util.List<java.lang.String> getPathElementsAsStringList() -
resolveValue
Looks up the value of this path against a set of aggregation results. -
resolveAggregator
Resolves the Aggregator pointed to by this path against the given root Aggregator. -
resolveTopmostAggregator
Resolves the Aggregator pointed to by the first element of this path against the given root Aggregator. -
bucketComparator
-
equals
public boolean equals(java.lang.Object obj)- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()- Overrides:
hashCodein classjava.lang.Object
-