ElasticSearch中groupby+avg+sort等聚合分析是什么样的
本篇文章为大家展示了ElasticSearch中group by + avg + sort等聚合分析是什么样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
创新互联秉承实现全网价值营销的理念,以专业定制企业官网,成都网站制作、成都网站设计,小程序定制开发,网页设计制作,成都手机网站制作,网络营销推广帮助传统企业实现“互联网+”转型升级专业定制企业官网,公司注重人才、技术和管理,汇聚了一批优秀的互联网技术人才,对客户都以感恩的心态奉献自己的专业和所长。
将文本fields的Fielddata属性设置true
PUT http://{{es-host}}/ecommerce/_mapping/produce { "properties":{ "tags":{ "type":"text", "fielddata":true } } }
1、计算每个tag下的商品数量
GET http://{{es-host}}/ecommerce/produce/_search { "size":0, "aggs":{ "group_by_tags":{ "terms":{ "field":"tags" } } } }
group_by_tags 代表聚合分组名称,可以随意写,表述清楚含义即可;
field的值对应要聚合的字段
结果:
{ "took": 43, "timed_out": false, "_shards": { "total": 5, "successful": 5, "skipped": 0, "failed": 0 }, "hits": { "total": 4, "max_score": 0, "hits": [] }, "aggregations": { "group_by_tags": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "key": "fangzhu", "doc_count": 2 }, { "key": "meibai", "doc_count": 2 }, { "key": "qingxin", "doc_count": 1 } ] } } }
2、按商品名称搜索并聚合
GET http://{{es-host}}/ecommerce/produce/_search { "query":{ "match_phrase":{ "name":"yagao" } }, "aggs":{ "group_by_tags":{ "terms":{ "field":"tags" } } }, "size":0 }
检索结果:
{ "took": 17, "timed_out": false, "_shards": { "total": 5, "successful": 5, "skipped": 0, "failed": 0 }, "hits": { "total": 4, "max_score": 0, "hits": [] }, "aggregations": { "group_by_tags": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "key": "fangzhu", "doc_count": 2 }, { "key": "meibai", "doc_count": 2 }, { "key": "qingxin", "doc_count": 1 } ] } } }
3、先分组,再计算每个分组的平均值
GET http://{{es-host}}/ecommerce/produce/_search { "size":0, "aggs":{ "group_by_tags":{ "terms":{ "field":"tags" }, "aggs":{ "avg_price":{ "avg":{ "field":"price" } } } } } }
结果:
{ "took": 83, "timed_out": false, "_shards": { "total": 5, "successful": 5, "skipped": 0, "failed": 0 }, "hits": { "total": 4, "max_score": 0, "hits": [] }, "aggregations": { "group_by_tags": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "key": "fangzhu", "doc_count": 2, "avg_price": { "value": 27.5 } }, { "key": "meibai", "doc_count": 2, "avg_price": { "value": 40 } }, { "key": "qingxin", "doc_count": 1, "avg_price": { "value": 40 } } ] } } }
上述内容就是ElasticSearch中group by + avg + sort等聚合分析是什么样的,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。
分享文章:ElasticSearch中groupby+avg+sort等聚合分析是什么样的
分享网址:http://lswzjz.com/article/ggdojc.html