OpenSearch/client
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
..
benchmark [Backport] Remove dependency substitutions 7.x (#42866) 2019-06-04 13:50:23 -07:00
client-benchmark-noop-api-plugin Remove Xlint exclusions from gradle files 2020-02-20 14:12:05 +00:00
rest Fix roles parsing in client nodes sniffer (#52888) 2020-02-27 15:26:49 -05:00
rest-high-level Clean up how pipeline aggs check for multi-bucket (backport of #54161) (#54379) 2020-03-30 10:44:55 -04:00
sniffer Upgrade jackson to 2.10.3 and GeoIP to 2.13.1 (#53642) 2020-03-17 10:28:51 -07:00
test Enable tests in FIPS 140 in JDK 11 (#49485) 2020-01-27 11:14:52 +02:00
transport [Backport] Remove dependency substitutions 7.x (#42866) 2019-06-04 13:50:23 -07:00