OpenSearch/x-pack/plugin/async-search/src
Nik Everett a29d3515a2
Improve cardinality measure used to build aggs (#56533) (#59107)
This makes a `parentCardinality` available to every `Aggregator`'s ctor
so it can make intelligent choices about how it collects bucket values.
This replaces `collectsFromSingleBucket` and is similar to it but:
1. It supports `NONE`, `ONE`, and `MANY` values and is generally
   extensible if we decide we can use more precise counts.
2. It is more accurate. `collectsFromSingleBucket` assumed that all
   sub-aggregations live under multi-bucket aggregations. This is
   normally true but `parentCardinality` is properly carried forward
   for single bucket aggregations like `filter` and for multi-bucket
   aggregations configured in single-bucket for like `range` with a
   single range.

While I was touching every aggregation I renamed `doCreateInternal` to
`createMapped` because that seemed like a much better name and it was
right there, next to the change I was already making.

Relates to #56487

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-08 08:42:23 -04:00
..
internalClusterTest/java/org/elasticsearch/xpack/search Improve error handling in async search code (#57925) 2020-07-03 16:07:26 +02:00
main Improve error handling in async search code (#57925) 2020-07-03 16:07:26 +02:00
test/java/org/elasticsearch/xpack/search Improve cardinality measure used to build aggs (#56533) (#59107) 2020-07-08 08:42:23 -04:00