How can I use bool query on the result of an aggregation? I want both aggregations to independently facet on the whole index, then merge the results. I can see how I would use a bool query to limit the set of docs I'm aggregating on, but I can't see how I would use it to merge the results of two aggregations?
Thanks, Tim. On Wednesday, December 18, 2013 4:40:37 PM UTC, kidkid wrote: > > You could use bool query and let ElasticSearch do the rest. > > > http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html > > On Wednesday, December 18, 2013 3:58:07 PM UTC+7, Tim S wrote: >> >> In the example below, I ask elasticsearch for two aggregations (I've >> simplified it, it's actually got some nested aggregations in there). >> >> { >> "aggregations": { >> "agg1": { >> "terms": { >> "field": "forname" >> } >> }, >> "agg2": { >> "terms": { >> "field": "surname" >> } >> } >> } >> } >> >> What I get back is two sets of results, i.e. >> >> { >> "aggregations" : { >> "agg1" : { >> "buckets" : [ { >> "key" : "john", >> "doc_count" : 1 >> }, { >> "key" : "bob", >> "doc_count" : 4 >> } ] >> }, >> "agg2" : { >> "buckets" : [ { >> "key" : "smith", >> "doc_count" : 3 >> }, { >> "key" : "jones", >> "doc_count" : 2 >> } ] >> } >> } >> } >> >> What I'd like to get back is one set of results. I.e. a list of terms >> appearing in either of the fields, with the counts summed across both, e.g. >> >> { >> "aggregations" : { >> "agg1 OR agg2" : { >> "buckets" : [ { >> "key" : "john", >> "doc_count" : 1 >> }, { >> "key" : "bob", >> "doc_count" : 4 >> }, { >> "key" : "smith", >> "doc_count" : 3 >> }, { >> "key" : "jones", >> "doc_count" : 2 >> } ] >> } >> } >> } >> >> Is there any way of doing this? I could request them and merge them in my >> own code, but if there's a built in way then I'd rather use that. >> >> Thanks, >> >> Tim. >> > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/b9c82b3b-c8a3-4783-96d8-b4d07809189f%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
