上节课时中介绍了对于 query 查询可以使用 Scroll 来进行优化,聚合数据有时候也会产生大量的数据,本课时将会介绍一下如何优化对聚合数据的查询。
给定需求:
同一个人在不同城市消费的均值。
对于这个需求要弄明白,保证同一个人就是对这个人进行一次聚合,然后再根据不同城市进行聚合,这种需求就会产生大量的聚合数据,因为人比较多。
下面的语句就是先用 customer_id 作为聚合 key,然后用 geoip.city_name 作为第二次聚合 key。再对 taxless_total_price 取均值。
GET /kibana_sample_data_ecommerce/_search
{
"size": 0,
"aggs": {
"users": {
"terms": {
"field": "customer_id",
"size": 10
},"aggs": {
"city": {
"terms": {
"field": "geoip.city_name",
"size": 10
},"aggs&