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/8e57316e-2c43-40cc-913e-6f9579fc0410%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to