bucket_selector为此,您需要一个脚本,而脚本则在较高级别上稍有不同:
{ "size": 0, "aggs": { "groupby_country": { "terms": { "field": "country", "size": 2000 }, "aggs": { "exists__x__filter": { "filter": { "bool": { "filter": [ { "exists": { "field": "x" } } ] } }, "aggs": { "sum": { "sum": { "script": "def val = doc['x'].value; if(val>0) Math.min(val , 20000)" } } } }, "average_distinct": { "bucket_selector": { "buckets_path": { "count": "exists__x__filter._count" }, "script": "params.count > 0" } } } } }}


