doc_value / field_data区别,课后需要理解下
语法
| GET irs_mail_standard/_search { "size": 0,[控制不显示hits] "aggs": { "NAME1": { "AGG_TYPE": { "field":" "size": 10, "order": "asc" } }, "NAME2": { "AGG_TYPE": { "field":" } } } } * AGG_TYPE:max、min、avg、cardinality等 |
- 分桶聚合bucket
实际需求:按发送国家统计邮件的数量(irs_mail_standard索引)
| GET irs_mail_standard/_search { "size": 0, "aggs": { "agg_oricountry": { "terms": { "field": "oriCountry.keyword", "size": 10 } } } } |
- 指标聚合
例:(1)求邮件中附件最多、最少的邮件
(2)查看所有指标(平均值、和值、最大值、最小值、总和)
(3)按照国家(邮件号码后缀)去重之后的数量
| #指标查询 #求邮件中附件最多、最少的邮件 GET irs_mail_standard/_search { "size": 0, "aggs": { "max_attachNum": { "max": { "field": "attachNum" } }, "min_attachNum": { "min": { "field": "attachNum" } }, "avg_attachNum": { "avg": { "field": "attachNum" } } } } #查看所有指标(平均值、和值、最大值、最小值、总和) GET irs_mail_standard/_search { "size": 0, "aggs": { "max_attachNum": { "stats": { "field": "attachNum" } } } } #按照国家去重之后的数量 GET irs_mail_standard/_search { "size": 0, "aggs": { "agg_oricountry": { "cardinality": { "field": "oriCountry.keyword" } } } } |
- 管道聚合,即基于结果的聚合
例:按照国家统计附件总量
| #按照国家统计附件的数量总和,并求出其中最少附件的国家 GET irs_mail_standard/_search { "size": 0, "aggs": { "country_bucket": { "terms": { "field": "oriCountry.keyword", "size": 10 }, "aggs": { "attachNum_bucket": { "sum": { "field": "attachNum" } } } }, "min_bucket": { "min_bucket": { "buckets_path": "country_bucket>attachNum_bucket" } } } } |



