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 under agg3.
  • 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 of agg3.
  • 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 of agg3.
  • Constructor Details

  • Method Details

    • parse

      public static AggregationPath parse​(java.lang.String path)
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • lastPathElement

      public AggregationPath.PathElement lastPathElement()
    • getPathElements

      public java.util.List<AggregationPath.PathElement> getPathElements()
    • getPathElementsAsStringList

      public java.util.List<java.lang.String> getPathElementsAsStringList()
    • resolveValue

      public double resolveValue​(InternalAggregations aggregations)
      Looks up the value of this path against a set of aggregation results.
    • resolveAggregator

      public Aggregator resolveAggregator​(Aggregator root)
      Resolves the Aggregator pointed to by this path against the given root Aggregator.
    • resolveTopmostAggregator

      public Aggregator resolveTopmostAggregator​(Aggregator root)
      Resolves the Aggregator pointed to by the first element of this path against the given root Aggregator.
    • bucketComparator

      public Aggregator.BucketComparator bucketComparator​(Aggregator root, SortOrder order)
    • equals

      public boolean equals​(java.lang.Object obj)
      Overrides:
      equals in class java.lang.Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class java.lang.Object