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 class
AggregationPath.PathElement
-
Constructor Summary
Constructors Constructor Description AggregationPath(java.util.List<AggregationPath.PathElement> tokens)
-
Method Summary
Modifier and Type Method Description Aggregator.BucketComparator
bucketComparator(Aggregator root, SortOrder order)
boolean
equals(java.lang.Object obj)
java.util.List<AggregationPath.PathElement>
getPathElements()
java.util.List<java.lang.String>
getPathElementsAsStringList()
int
hashCode()
AggregationPath.PathElement
lastPathElement()
static AggregationPath
parse(java.lang.String path)
Aggregator
resolveAggregator(Aggregator root)
Resolves the Aggregator pointed to by this path against the given root Aggregator.Aggregator
resolveTopmostAggregator(Aggregator root)
Resolves the Aggregator pointed to by the first element of this path against the given root Aggregator.double
resolveValue(InternalAggregations aggregations)
Looks up the value of this path against a set of aggregation results.java.lang.String
toString()
-
Constructor Details
-
Method Details
-
parse
-
toString
public java.lang.String toString()- Overrides:
toString
in 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:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()- Overrides:
hashCode
in classjava.lang.Object
-