global bucket
统计单个年龄26岁与所有26岁收入的对比
GET /user/_search { "query":{ "term":{ "age":"26" } }, "aggs":{ "single_age_avg_salary":{ "avg":{ "field":"salary" } }, "all":{ "global":{}, "aggs":{ "all_age_avg_salary":{ "avg":{ "field":"salary" } } } } } }
结果:
{ "took" : 53, "timed_out" : false, "_shards" : { "total" : 3, "successful" : 3, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : { "value" : 2, "relation" : "eq" }, "max_score" : 1.0, "hits" : [ { "_index" : "user", "_type" : "_doc", "_id" : "5", "_score" : 1.0, "_source" : { "username" : "li", "userId" : 5, "age" : 26, "salary" : 25000, "birthday" : "2020-06-02" } }, { "_index" : "user", "_type" : "_doc", "_id" : "6", "_score" : 1.0, "_source" : { "username" : "jack", "userId" : 6, "age" : 26, "salary" : 35000, "birthday" : "2020-06-02" } } ] }, "aggregations" : { "all" : { "doc_count" : 6, "all_age_avg_salary" : { "value" : 26666.666666666668 } }, "single_age_avg_salary" : { "value" : 30000.0 } } }
global:就是global bucket,即将所有数据纳入聚合的scope,而不管之前的query查询出来的数据。
一个结果是基于query搜索结果来聚合的; 一个结果是对所有数据执行聚合后的
-
single_age_avg_salary:就是针对query搜索结果,执行的,拿到的,就是26岁的平均价格
-
all_age_avg_salary:所有年龄的平均价格
立志如山 静心求实
浙公网安备 33010602011771号