Hi All, Please see a working example of a document. The document has variants as a nested document within each root document. The data has 3 records as can be seen below. I would like to do the following:
1) For the filter aggregation for colour, I would like to filter by two ranges, in a OR condition - gt 10 lte 20 and gt 30 and lte 40 2) For the same filter aggregation for colour, I would like to filter by the above AND size = small. Can anyone help? I cannot seem to use AND / OR or BOOL logic with nested / non-nested combinations? DELETE /testindex/ PUT /testindex/ { "mappings": { "products":{ "properties": { "variants":{ "type":"nested" } } } } } POST /_bulk {"create":{"_index":"testindex","_type":"products","_id":"1"}} {"code":"1", "variants": [{"sku":"123", "price": 15}], "colour":"blue", "size":"small"} {"create":{"_index":"testindex","_type":"products","_id":"2"}} {"code":"2", "variants": [{"sku":"456", "price": 30}], "colour":"red", "size":"small"} {"create":{"_index":"testindex","_type":"products","_id":"3"}} {"code":"3", "variants": [{"sku":"789", "price": 35}], "colour":"red", "size":"large"} POST /testindex/products/_search { "aggs": { "colour":{ "filter":{ "nested": { "path": "variants", "filter": { "range": { "price": { "gt":10,"lte":20}} } } }, "aggs":{ "colour":{ "terms":{ "field": "colour" } } } }, "price":{ "nested": { "path":"variants" }, "aggs":{ "price":{ "terms":{ "field": "price" } } } } }, "post_filter" : { "nested": { "path":"variants", "filter": { "range": { "price": { "gte":20}} } } } } -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/5c37741e-d559-4d6f-b7f3-58c648b33930%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.