We're currently evaluating Elasticsearch, and trying to get a handle on the approximate counts in cardinality aggregations. I understand that the default value for 'precision_threshold' is 3000, and this means that if the cardinality of a field is below 3000, you'll basically get an exact answer. So if the answer I get back is below 3000 -- let's say it's 33 -- then I can be pretty confident that 33 is the exactly correct number. But if the number that's returned is above 3000, then it might be around 1% or 2% off from the exact number.

My question is about Top 10 (group by) queries. If I get 10 results back, and each number is less than 3000, does that basically mean that they are exact answers? The documentation doesn't make this very clear.

My guess is no -- I think that it's actually the total cardinality of the field, *before* grouping, that matters. Therefore, if I do a Top 10 query and one of the items in my list has a value of 33, the actual exact answer might be 32. Is that right?