es之聚合作用范围与排序

聚合的作用范围有4种:默认对查询结果进行聚合,filter,post_filter,global

一,默认对查询结果进行聚合

GET kibana_sample_data_ecommerce/_search
{
  "query": {
    "match_all": {}
  },
  "aggs": {
    "day_bucket": {
      "terms": {
        "field":"order_date",
        // 排序
        "order":[
           {"_count":"desc"},
           {"_key":"asc"}
        ]
      }
    }
  }
}

二,filter

GET kibana_sample_data_ecommerce/_search
{
  "aggs": {
    "day_bucket": {
      "filter":{
        "range":{
          "day_of_week_i":{
            "from":4
          }
        }
      },
      // 基于上面的过滤结果进行聚合
      "aggs":{
        "count_day_i":{
          "terms": {
              "field":"day_of_week_i",
              "order":[
                 {"_count":"desc"},
                 {"_key":"desc"}
              ]
           }
        }
      }
    },
    // 基于所有文档进行聚合
    "all_count_day_i":{
          "terms": {
              "field":"day_of_week_i",
              "order":[
                 {"_count":"desc"},
                 {"_key":"desc"}
              ]
           }
        }
  }
}

三,post_filter

GET kibana_sample_data_ecommerce/_search
{
  "aggs": {
    "day_bucket": {
          "terms": {
              "field":"day_of_week_i",
              "order":[
                 {"_count":"desc"},
                 {"_key":"desc"}
              ]
           }
    }
  },
  "post_filter":{
      "term":{
        "day_of_week_i":4
      }
  }
}

四,global

GET kibana_sample_data_ecommerce/_search
{
  "query": {
    "range": {
      "day_of_week_i": {
        "gte": 3,
        "lte": 4
      }
    }
  },
  "aggs": {
    // 对查询结果进行聚合
    "avg_part": {
      "avg": {
        "field":"day_of_week_i"
      }
    },
    // 忽略查询结果,对所有文档进行聚合
    "all":{
      "global":{},
      "aggs":{
        "avg_all":{
          "avg":{
            "field":"day_of_week_i"
          }
        }
      }
    }
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java追光着

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值