es聚合terms include

Elasticsearch | 作者 JustRun | 发布于5 天前 | 阅读数:68

版本ES7.3目的:支付数据有5种支付方式,其中一种是IOS支付,其他都是安卓支付,现在按照支付方式聚合分桶后,如何让IOS支付分成一个桶,剩下的放在一个桶?
 
    "aggs": {
      "pay_day": {
        "date_histogram": {
          "field": "order_create_time",
          "calendar_interval" : "day",
          "time_zone": "+08:00",
          "format": "yyyy-MM-dd",
          "order" : { "_key" : "desc" }
        },
        "aggs": {
          "pay_type": {
            "terms": {
              "field": "order_pay_type",
              "include": [3]      //这里的3就是IOS支付,但是这样过滤,就只剩下IOS支付了,其他支付不会分桶,如果不加这个,那所有的都单独分个桶,看着数据又太多。
            },
            "aggs": {
              "pay_success": {
                "terms": {
                  "field": "order_pay_status",
                  "include": [1]
                },
                "aggs": {
                  "pay_success_money": {
                    "sum": {
                      "field": "order_money"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
已邀请:

要回复问题请先登录注册