ElasticSearch 학습 노트의 22가지 지표 집합 계속

17181 단어

ElasticSearch 학습 노트의 22가지 지표 집합 계속

  • Max Aggregation
  • Min Aggregation
  • Percentiles Aggregation
  • Stats Aggregation
  • Sum Aggregation
  • Value Count Aggregation

  • Max Aggregation


    Max Aggregation은 집합이 필요한 문서에서 필드의 최대 값을 추출하는 단일 값 디지털 집합입니다.이 값들은 문서에서 추출할 수도 있고script에서 얻을 수도 있습니다.
    주의:maxaggregation과minaggregationoperate는 이중 정밀도 데이터를 조작하기 때문에 데이터의 크기가 253을 초과할 때 근사값을 얻습니다.
    모든 문서의 최대 값을 계산합니다.
    POST /sales/_search?size=0
    {
        "aggs" : {
            "max_price" : { "max" : { "field" : "price" } }
        }
    }
    

    반환 결과는 다음과 같습니다.
    {
        ...
        "aggregations": {
            "max_price": {
                "value": 200.0
            }
        }
    }
    

    Min Aggregation


    Min Aggregation은 집합이 필요한 문서에서 필드의 최소 값을 추출하는 단일 값 디지털 집합입니다.이 값들은 문서에서 추출할 수도 있고script에서 얻을 수도 있습니다.
    모든 문서의 최대 값을 계산합니다.
    POST /sales/_search?size=0
    {
        "aggs" : {
            "min_price" : { "min" : { "field" : "price" } }
        }
    }
    

    반환:
    {
        ...
    
        "aggregations": {
            "min_price": {
                "value": 10.0
            }
        }
    }
    

    Percentiles Aggregation


    Percentiles Aggregation은 집합이 필요한 문서에서 추출한 숫자형 값을 하나 이상의 백분율 다수치 숫자형 집합으로 계산합니다.이 값들은 문서에서 추출할 수도 있고script에서 얻을 수도 있습니다.
    Percentiles는 관측치의 백분율을 보여 줍니다.예를 들어 95thpercentile는 관찰한 값의 95%보다 큰 값이다.
    Percentiles는 극단적인 값을 찾는 데 자주 사용된다.정적 분포에서 0.13%와 97.47%는 세 가지 표준 편차의 평균치를 대표한다.세 가지 표준을 초과한 모든 데이터는 통상적으로 일종의 이상 데이터로 여겨진다.
    우리는percentiles 집합의 결과를 이용하여 데이터 분포를 평가하고 데이터의 이상 여부를 판단하며 데이터가 쌍봉 분포에 부합되는지 분석할 수 있다.
    만약 당신의 데이터가 웹 사이트의 불러오는 시간으로 구성된다고 가정해 보세요.평균과 중간 부하 시간은 관리자에게 그리 유용하지 않다.MAX는 재미있을 수도 있지만, 단일한 느린 응답에 쉽게 왜곡될 수 있다.
    적재 시간 범위를 대표하는percentiles 집합을 볼 수 있습니다.
    GET latency/_search
    {
        "size": 0,
        "aggs" : {
            "load_time_outlier" : {
                "percentiles" : {
                    "field" : "load_time" 
                }
            }
        }
    }
    

    load_time 필드는 반드시 하나의 필드형이어야 한다
    읊다, 읊조리다다음과 같이 반환합니다.
    {
        ...
    
       "aggregations": {
          "load_time_outlier": {
             "values" : {
                "1.0": 5.0,
                "5.0": 25.0,
                "25.0": 165.0,
                "50.0": 445.0,
                "75.0": 725.0,
                "95.0": 945.0,
                "99.0": 985.0
             }
          }
       }
    }
    

    보시다시피 집합은 모든 백분율에 계산된 값을 되돌려줍니다. 만약에 우리가 상응하는 시간이 밀리초 급이라고 가정한다면 사이트의 응답 시간은 일반적으로 10-725ms이고 간혹 945-985ms까지 높아집니다.
    통상적으로 관리자 지대의 극단적인 값은 극단적인 비율에 흥미를 느낀다.우리는 단지 우리가 흥미를 느끼는 비율을 지적할 수 있을 뿐이다.
    GET latency/_search
    {
        "size": 0,
        "aggs" : {
            "load_time_outlier" : {
                "percentiles" : {
                    "field" : "load_time",
                    "percents" : [95, 99, 99.9] 
                }
            }
        }
    }
    

    퍼센트 파라미터가 지정한 백분율을 사용하여 계산합니다.

    Stats Aggregation


    Stats Aggregation은 집합이 필요한 문서에서 추출한 디지털 값 필드를 통계적으로 계산하는 다중 값 디지털 집합입니다.이 값들은 문서에서 추출할 수도 있고script에서 얻을 수도 있습니다.
    반환된 통계 정보는min,max,sum,count,avg입니다.
    학생 성적(0~100)을 나타내는 일련의 문서가 있는 경우
    POST /exams/_search?size=0
    {
        "aggs" : {
            "grades_stats" : { "stats" : { "field" : "grade" } }
        }
    }
    

    위의 집합은 문서의 grade 필드를 통계할 것이다.집합의 유형은 stats field 문서 집합 계산을 정의한 필드입니다.반환 결과는 다음과 같습니다.
    {
        ...
    
        "aggregations": {
            "grades_stats": {
                "count": 2,
                "min": 50.0,
                "max": 100.0,
                "avg": 75.0,
                "sum": 150.0
            }
        }
    }
    

    Sum Aggregation


    Sum Aggregation은 집합이 필요한 문서에서 필드의 합을 구하는 단수 숫자형 집합입니다.이 값들은 문서에서 추출할 수도 있고script에서 얻을 수도 있습니다.
    만약 우리가 일련의 판매 기록을 대표하는 문서로 가정한다면, 우리는 모든 모자의 판매 가격을 추가할 수 있다
    POST /sales/_search?size=0
    {
        "query" : {
            "constant_score" : {
                "filter" : {
                    "match" : { "type" : "hat" }
                }
            }
        },
        "aggs" : {
            "hat_prices" : { "sum" : { "field" : "price" } }
        }
    }
    

    반환 결과는 다음과 같습니다.
    {
        ...
        "aggregations": {
            "hat_prices": {
               "value": 450.0
            }
        }
    }
    

    Value Count Aggregation


    Value Count Aggregation은 집합이 필요한 문서에서 필드 수를 계산하는 단수 숫자형 집합입니다.이 값들은 문서에서 추출할 수도 있고script에서 얻을 수도 있습니다.
    일반적으로 이 집합은 다른 단수 숫자형 집합과 함께 사용된다.예를 들어, AVG를 계산할 때 평균값의 계산값에 관심이 있을 수 있습니다.
    POST /sales/_search?size=0
    {
        "aggs" : {
            "types_count" : { "value_count" : { "field" : "type" } }
        }
    }
    

    다음과 같이 반환합니다.
    {
        ...
        "aggregations": {
            "types_count": {
                "value": 7
            }
        }
    }
    

    좋은 웹페이지 즐겨찾기