Hi,

I'm looking for a way to have Elasticsearch calculate the percentage of 
docs that match a query *within* a terms aggregation. 
That is, given two aggregations where one is filtered and the other is not:

{
    aggregations: {
        countries: {
            filter: {       
                query: {
                    query_string: {
                        default_field: "description",
                        query: "foo"
                    }
                }
            },
            aggregations: { 
                filteredCountries: { 
                    terms: { field: "country" }
                }
            }
        },
        totalCountries: {
            terms: { field: "countries" }
        }
    },
    size: 0
}

Let's say the totalCountries buckets are:

    "buckets": [
        {
            "key": "USA",
            "doc_count": 100
        },
        {
            "key": "UK",
            "doc_count": 50
        }
    ]


and the filteredCountries buckets are: 

    "buckets": [
        {
            "key": "USA",
            "doc_count": 10
        },
        {
            "key": "UK",
            "doc_count": 25
        }
    ]


Is there a way to get a response that returns filteredCountries as 
percentages of totalCountries? I.e. something like:

[
    {
        "key": "USA",
        "percent": 10
    },
    {
        "key": "UK",
        "percent": 50
    }
]

Thanks!

-- 
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/8bbdff97-e2a0-415e-ba4f-f418a279be27%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to