Class AggregationPath
- java.lang.Object
-
- org.elasticsearch.search.aggregations.support.AggregationPath
-
public class AggregationPath extends java.lang.ObjectA 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 thedoc_countof 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 java.util.List<AggregationPath.PathElement>getPathElements()java.util.List<java.lang.String>getPathElementsAsStringList()AggregationPath.PathElementlastPathElement()static AggregationPathparse(java.lang.String path)AggregatorresolveAggregator(Aggregator root)Resolves the aggregator pointed by this path using the given root as a point of reference.AggregatorresolveTopmostAggregator(Aggregator root)Resolves the topmost aggregator pointed by this path using the given root as a point of reference.doubleresolveValue(HasAggregations root)Resolves the value pointed by this path given an aggregations rootAggregationPathsubPath(int offset, int length)java.lang.StringtoString()voidvalidate(Aggregator root)Validates this path over the given aggregator as a point of reference.
-
-
-
Constructor Detail
-
AggregationPath
public AggregationPath(java.util.List<AggregationPath.PathElement> tokens)
-
-
Method Detail
-
parse
public static AggregationPath parse(java.lang.String path)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
lastPathElement
public AggregationPath.PathElement lastPathElement()
-
getPathElements
public java.util.List<AggregationPath.PathElement> getPathElements()
-
getPathElementsAsStringList
public java.util.List<java.lang.String> getPathElementsAsStringList()
-
subPath
public AggregationPath subPath(int offset, int length)
-
resolveValue
public double resolveValue(HasAggregations root)
Resolves the value pointed by this path given an aggregations root- Parameters:
root- The root that serves as a point of reference for this path- Returns:
- The resolved value
-
resolveAggregator
public Aggregator resolveAggregator(Aggregator root)
Resolves the aggregator pointed by this path using the given root as a point of reference.- Parameters:
root- The point of reference of this path- Returns:
- The aggregator pointed by this path starting from the given aggregator as a point of reference
-
resolveTopmostAggregator
public Aggregator resolveTopmostAggregator(Aggregator root)
Resolves the topmost aggregator pointed by this path using the given root as a point of reference.- Parameters:
root- The point of reference of this path- Returns:
- The first child aggregator of the root pointed by this path
-
validate
public void validate(Aggregator root) throws AggregationExecutionException
Validates this path over the given aggregator as a point of reference.- Parameters:
root- The point of reference of this path- Throws:
AggregationExecutionException- on validation error
-
-