嵌套聚合,下钻分析,聚合分析

第一个分析需求,计算每个tags下面的商品数量 分组,按照tags字段进行分析统计 GET /ecommerce/product/_search { "size":0, "aggs":{ "group_by_tags":{ "terms":{"field":"tags"} } } }

执行以上操作会报错,将文本filed的fileddata属性设置为true PUT ecommerce/_mapping/product { "properties": { "tags":{ "type": "text", "fielddata": true } } } 然后再进行以上操作

第二个聚合分析需求,对名称中包含yagao的商品,计算每个tag下的商品数量 GET /ecommerce/product/_search { "size":0, "query": { "match": { "name": "yagao" } }, "aggs":{ "group_by_tags":{ "terms":{"field":"tags"} } } }

第三个聚合分析的需求,先分组,在算每组的平均值,计算每个tag下的商品的平均价格 GET ecommerce/product/_search { "size": 0, "aggs": { "group_by_tags": { "terms": { "field": "tags" }, "aggs": { "avg_price": { "avg": { "field": "price" } } } } } } 第四个数据分析需求,计算每个tag下的商品的平均价格,并且按照评价价格降序排序 GET ecommerce/product/_search { "size": 0, "aggs": { "all_tags": { "terms": { "field": "tags", "order": { "avg_price": "desc" } }, "aggs": { "avg_price": { "avg": { "field": "price" } } } } } }

第五个数据分析需求:按照指定的价格范围区间进行分组,然后在每组内再按照tag进行分组,最后再计算每组的平均价格