WARNING: The 1.x versions of Elasticsearch have passed their EOL dates. If you are running a 1.x version, we strongly advise you to upgrade.
This documentation is no longer maintained and may be removed. For the latest information, see the current Elasticsearch documentation.
Filtered Queryedit
If we want to find all cars over $10,000 and also calculate the average price
for those cars, we can simply use a filtered
query:
GET /cars/transactions/_search?search_type=count { "query" : { "filtered": { "filter": { "range": { "price": { "gte": 10000 } } } } }, "aggs" : { "single_avg_price": { "avg" : { "field" : "price" } } } }
Fundamentally, using a filtered
query is no different from using a match
query, as we discussed in the previous chapter. The query (which happens to include
a filter) returns a certain subset of documents, and the aggregation operates
on those documents.