WARNING: Version 6.2 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Nested Aggregation
editNested Aggregation
editA special single bucket aggregation that enables aggregating nested documents.
For example, lets say we have an index of products, and each product holds the list of resellers - each having its own price for the product. The mapping could look like:
PUT /index { "mappings": { "product" : { "properties" : { "resellers" : { "type" : "nested", "properties" : { "name" : { "type" : "text" }, "price" : { "type" : "double" } } } } } } }
The following aggregations will return the minimum price products can be purchased in:
GET /_search { "query" : { "match" : { "name" : "led tv" } }, "aggs" : { "resellers" : { "nested" : { "path" : "resellers" }, "aggs" : { "min_price" : { "min" : { "field" : "resellers.price" } } } } } }
As you can see above, the nested aggregation requires the path
of the nested documents within the top level documents.
Then one can define any type of aggregation over these nested documents.
Response:
{ ... "aggregations": { "resellers": { "doc_count": 0, "min_price": { "value": 350 } } } }