OpenSearch/x-pack/plugin/async-search
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
..
qa Async search: rename REST parameters (#54198) 2020-03-26 09:40:50 +01: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 new x-pack endpoints to track the progress of a search asynchronously (#49931) (#53591) 2020-03-16 15:31:27 +01:00