首页 > 代码库 > ElasticSearch聚合aggs入门
ElasticSearch聚合aggs入门
Elasticsearch是一款功能强大的开源软件,不仅可以检索排序,还可以对文档进行更复杂的操作--聚合。
1、单值聚合
Sum求和,dsl参考如下:
{ "size": 0, "aggs": { "return_balance": { "sum": { "field": "balance" } } }}
返回balance之和,其中size=0 表示不需要返回参与查询的文档。
Min求最小值
{ "size": 0, "aggs": { "return_min_balance": { "min": { "field": "balance" } } }}
返回结果
Max求最大值
{ "size": 0, "aggs": { "return_max_balance": { "max": { "field": "balance" } } }}
返回结果:
AVG求平均值
{ "size": 0, "aggs": { "return_avg_balance": { "avg": { "field": "balance" } } }}
返回结果:
Cardinality 求基数(如下示例,查找性别的基数 M、F,共两个)
{ "size": 0, "aggs": { "return_cardinality": { "cardinality": { "field": "gender" } } }}
结果为:
2、多值聚合
percentiles 求百分比
查看官方文档时候,没看懂,下面是自己测试时的例子,按照性别(F,M)查看工资范围的百分比
{ "size": 0, "aggs": { "states": { "terms": { "field": "gender" }, "aggs": { "banlances": { "percentile_ranks": { "field": "balance", "values": [ 20000, 40000 ] } } } } }
结果:
stats 统计
查看balance的统计情况:
{ "size": 0, "aggs": { "balance_stats": { "stats": { "field": "balance" } } }}
返回结果:
extended_stats 扩展统计
{ "size": 0, "aggs": { "balance_stats": { "extended_stats": { "field": "balance" } } }}
结果:
更加复杂的查询,后续慢慢在实践中道来。
ElasticSearch聚合aggs入门
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。