ES Java High Level REST Client 聚合返回值解析总结

ES Java High Level REST Client 聚合返回值解析总结

在使用ES Java Rest High Client的时候,因为初学ES,所以对解析返回值一脸懵逼。
现针对返回值解析写下此文。

原始Rest请求

GET log/orderLog/_search?size=0
{
  "query":{
      "bool": {
        "must": [
          {
  "match_phrase": {
            "operator": "15061106601"
          }},
          {
  "range": {
            "time": {
            "gte": 1536019200000,
            "lte": 1536205600000
            }
          }}
        ]
      }
    },
    "aggs":{
      "day_order":{
        "date_histogram": {
        "field": "time",
        "interval": "day"
        }
        , "aggs": {
          "grap_order_success": {
            "filter": {
              "terms": {
                "operating": [
                  "抢",
                  "单",
                  "成",
                  "功"
                ]
              }
            },
            "aggs": {
              "order_success_count": {
                "value_count": {
                  "field": "time"
                }
              }
            }
          },
          "order_ok":{
            "filter": {
              "terms": {
                "operating": [
                  "确",
                  "认",
                  "方",
                  "案"
                ]
              }
            },
            "aggs": {
              "order_ok_count": {
                "value_count": {
                  "field": "time"
                }
              }
            }
          },
          "percent_customizer":{
            "bucket_script": {
              "buckets_path": {
                "orderGrap":"grap_order_success>order_success_count",
                "orderOk":"order_ok>order_ok_count"
              },
              "script": "params.orderOk/params.orderGrap*100"
            }
          }
        }
      }
    }
}

此请求的内容为:计算一段时间内,某一操作人确认方案和抢单成功的比,我们称之为确认方案率。计算方式为:

每日某人的抢单数量/每日某人的确认方案数量。
  1. 先使用起止时间和操作人进行筛选;
  2. 主要使用的Date Histogram Aggregation,对日期以天为间隔分桶;
  3. 对每天的数据,进行以下过滤:
    1. 选出每天进行操作为“抢单成功”的文档(等一下说以下Term),使用fliter的terms,并统计数量,使用value count。
    2. 选出每天进行操作为“确认方案”的文档&#x
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值