NOTE: You are looking at documentation for an older release. For the latest information, see the current release documentation.
Structuring aggregations
editStructuring aggregationsedit
As explained in the Aggregations guide, you can define sub aggregations inside an aggregation.
An aggregation could be a metrics aggregation or a bucket aggregation.
For example, here is a 3 levels aggregation composed of:
- Terms aggregation (bucket)
- Date Histogram aggregation (bucket)
- Average aggregation (metric)
SearchResponse sr = node.client().prepareSearch() .addAggregation( AggregationBuilders.terms("by_country").field("country") .subAggregation(AggregationBuilders.dateHistogram("by_year") .field("dateOfBirth") .dateHistogramInterval(DateHistogramInterval.YEAR) .subAggregation(AggregationBuilders.avg("avg_children").field("children")) ) ) .execute().actionGet();