쿼리 도움 요청드립니다


(Jason Park) #1

아래 쿼리문을 심플하게 변경하는 방법이 있을 것 같습니다.
metric data고 동작은 잘 하는데 가독성이 너무 않좋아서요.
쿼리 내용은 (SUM of HTTP status code 200 COUNT) / (SUM of HTTP method(get+post+delete) COUNT) 입니다.
즉 HTTP request에 대한 응답코드 200 OK의 비율을 구하고자 합니다.

감사 합니다.

{
  "size" : 0,
  "aggs": {
    "group_by": {
      "terms": { 
        "field": "popid",
        "size": 200
      },
      "aggs": {
        "get_bucket": {
          "filter": {
            "term": {
              "popid": "1000"
            }
          },
          "aggs": {
            "get_sum": {
              "sum": {
                "field": "get"
              }
            }
          }
        },
        "post_bucket": {
          "filter": {
            "term": {
              "popid": "1000"
            }
          },
          "aggs": {
            "post_sum": {
              "sum": {
                "field": "post"
              }
            }
          }
        },
        "delete_bucket": {
          "filter": {
            "term": {
              "popid": "1000"
            }
          },
          "aggs": {
            "delete_sum": {
              "sum": {
                "field": "delete"
              }
            }
          }
        },
        "rsp_200_bucket": {
          "filter": {
            "term": {
              "popid": "1000"
            }
          },
          "aggs": {
            "rsp_200_sum": {
              "sum": {
                "field": "rsp_200"
              }
            }
          }
        },
        "response_ratio": {
          "bucket_script": {
            "buckets_path": {
              "get_tot_cnt": "get_bucket>get_sum",
              "post_tot_cnt": "post_bucket>post_sum",
              "delete_tot_cnt": "delete_bucket>delete_sum",
              "rsp_200": "rsp_200_bucket>rsp_200_sum"
            },
            "script": "params.rsp_200/(params.get_tot_cnt+params.post_tot_cnt+params.delete_tot_cnt)"
          }
        }
      }
    }
  }
}

(Jong Min Kim) #2

Pipeline aggregation 으로는 해결하기 어려운 수식일까요?

https://www.elastic.co/guide/en/elasticsearch/reference/5.3/search-aggregations-pipeline-percentiles-bucket-aggregation.html


(system) #3

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.