OpenSearch/x-pack
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
..
dev-tools
docs 7.x - Create plugin for yamlTest task (#56841) (#59090) 2020-07-06 14:16:26 -05:00
license-tools Replace compile configuration usage with api (7.x backport) (#58721) 2020-06-30 15:57:41 +02:00
plugin Improve cardinality measure used to build aggs (#56533) (#59107) 2020-07-08 08:42:23 -04:00
qa 7.x - Create plugin for yamlTest task (#56841) (#59090) 2020-07-06 14:16:26 -05:00
snapshot-tool Replace compile configuration usage with api (7.x backport) (#58721) 2020-06-30 15:57:41 +02:00
test Replace compile configuration usage with api (7.x backport) (#58721) 2020-06-30 15:57:41 +02:00
transport-client Replace compile configuration usage with api (7.x backport) (#58721) 2020-06-30 15:57:41 +02:00
NOTICE.txt
README.md
build.gradle Include vendored code notices in distribution notice files (#57017) (#57569) 2020-06-04 10:34:24 -07:00

README.md

Elastic License Functionality

This directory tree contains files subject to the Elastic License. The files subject to the Elastic License are grouped in this directory to clearly separate them from files licensed under the Apache License 2.0.