内容简介:为了描述ES是如何进行嵌套聚合、下钻分析,聚合分析。下面通过五个业务需求来进行描述。由于tag是一个数组,所以其实统计的就是针对tag数组中的每个值,所有文档中tag字段中包含这个值的文档数量。
为了描述ES是如何进行嵌套聚合、下钻分析,聚合分析。下面通过五个业务需求来进行描述。
1、计算每个tag下的商品数量
由于tag是一个数组,所以其实统计的就是针对tag数组中的每个值,所有文档中tag字段中包含这个值的文档数量。
GET /product/_search
{
"size": 0,
"aggs": {
"all_tags": {
"terms": {
"field": "tags",
"size": 10
}
}
}
}
{
"took" : 0,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 3,
"relation" : "eq"
},
"max_score" : null,
"hits" : [ ]
},
"aggregations" : {
"all_tags" : {
"doc_count_error_upper_bound" : 0,
"sum_other_doc_count" : 0,
"buckets" : [
{
"key" : "fangzhu",
"doc_count" : 2
},
{
"key" : "meibai",
"doc_count" : 1
},
{
"key" : "qingxin",
"doc_count" : 1
}
]
}
}
}
2、对名称中包含yagao的商品,计算每个tag下的商品数量
GET /product/_search
{
"query": {
"match": {
"name": "yagao"
}
},
"size": 0,
"aggs": {
"all_tags": {
"terms": {
"field": "tags",
"size": 10
}
}
}
}
3、计算每个tag下的商品的平均价格
GET /product/_search
{
"size": 0,
"aggs": {
"group_by_tags": {
"terms": {
"field": "tags",
"size": 10
},
"aggs": {
"avg_price": {
"avg": {
"field": "price"
}
}
}
}
}
}
4、计算每个tag下商品的平均价格,并且按照平均价格降序排列
GET /product/_search
{
"size": 0,
"aggs": {
"group_by_tags": {
"terms": {
"field": "tags",
"size": 10,
"order": {
"avg_price": "desc"
}
},
"aggs": {
"avg_price": {
"avg": {
"field": "price"
}
}
}
}
}
}
5、按照指定的价格范围区间进行分组,然后在每组内在按照tag进行分组,最后在计算每组的平均价格
GET /product/_search
{
"size": 0,
"aggs": {
"group_by_price": {
"range": {
"field": "price",
"ranges": [
{
"from": 0,
"to": 20
},
{
"from": 20,
"to": 40
},
{
"from": 40,
"to": 50
}
]
},
"aggs": {
"group_by_tags": {
"terms": {
"field": "tags",
"size": 10
},
"aggs": {
"avg_price": {
"avg": {
"field": "price"
}
}
}
}
}
}
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C程序设计(第四版)
谭浩强 / 清华大学出版社 / 2010-6-1 / 33.00元
由谭浩强教授著、清华大学出版社出版的《C程序设计》是一本公认的学习C语言程序设计的经典教材。根据C语言的发展和计算机教学的需要,作者在《C程序设计(第三版)》的基础上进行了修订。 《C程序设计(第4版)》按照C语言的新标准C99进行介绍,所有程序都符合C99的规定,使编写程序更加规范;对C语言和程序设计的基本概念和要点讲解透彻,全面而深入;按照作者提出的“提出问题―解决问题―归纳分析”三部曲......一起来看看 《C程序设计(第四版)》 这本书的介绍吧!