OpenSearch/x-pack/plugin/core
Nik Everett e58ad9fed3
Clean up how pipeline aggs check for multi-bucket (backport of #54161) (#54379)
Pipeline aggregations like `stats_bucket`, `sum_bucket`, and
`percentiles_bucket` only operate on buckets that have multiple buckets.
This adds support for those aggregations to `geo_distance`, `ip_range`,
`auto_date_histogram`, and `rare_terms`.

This all happened because we used a marker interface to mark compatible
aggs, `MultiBucketAggregationBuilder` and it was fairly easy to forget
to implement the interface.

This replaces the marker interface with an abstract method in
`AggregationBuilder`, `bucketCardinality` which makes you return `NONE`,
`ONE`, or `MANY`. The `bucket` aggregations can check for `MANY`. At
this point `ONE` and `NONE` amount to about the same thing, but I
suspect that'll be a useful distinction when validating bucket sorts.

Closes #53215
2020-03-30 10:44:55 -04:00
..
forbidden Ensure SHA256 is not used in tests (#42289) 2019-05-22 09:54:24 +03:00
licenses Update http-core and http-client dependencies (#46549) 2019-09-12 09:45:29 +02:00
src Clean up how pipeline aggs check for multi-bucket (backport of #54161) (#54379) 2020-03-30 10:44:55 -04:00
build.gradle Add internalClusterTest to check task (#53444) 2020-03-16 18:55:01 -07:00
snapshot.key Make licensing FIPS-140 compliant (#30251) 2018-05-02 22:19:43 +03:00