매트릭스 집계는 일래스틱서치 5.0 버전과 함께 일래스틱서치 집계 범주에 포함된다. 메트릭스 집계는 여러 필드에서 작업하고 해당 필드에서 추출한 값을 기반으로 결과 행렬을 생성하는 방법을 제공한다.

현재 매트릭스 집계 카테고리에서 지원되는 집계 타입은 매트릭스 통계(Matrix Stats) 하나뿐이다.

매트릭스 집계는 주어진 필드 집합에 대한 수치 통계를 계산한다. 


연봉과 만족도 간의 관계를 통핸 수치 통계를 매트릭트 통계로 진행할 수 있다. 

예제는 다음과 같다.


curl -XGET "http://localhost:9200/members/_search?pretty" -d'

{

  "aggs": {

    "matrixstats": {

      "matrix_stats": {

        "fields": [

          "salary",

          "self_esteem"

        ]

      }

    }

  },"size": 0

}'



이렇게 호출하면 다음 값이 나온다.  필드의 대한 자세한 내용은 아래 url에 설명되어 있다.

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-matrix-stats-aggregation.html


{

  "took" : 7,

  "timed_out" : false,

  "_shards" : {

    "total" : 1,

    "successful" : 1,

    "failed" : 0

  },

  "hits" : {

    "total" : 10,

    "max_score" : 0.0,

    "hits" : [ ]

  },

  "aggregations" : {

    "matrixstats" : {

      "fields" : [

        {

          "name" : "self_esteem",

          "count" : 10,

          "mean" : 6.109999990463257,

          "variance" : 1.1721109714508229,

          "skewness" : 0.2987179705001951,

          "kurtosis" : 2.1800689946867364,

          "covariance" : {

            "self_esteem" : 1.1721109714508229,

            "salary" : 8.953332879808212

          },

          "correlation" : {

            "self_esteem" : 1.0,

            "salary" : 0.9734162963071288

          }

        },

        {

          "name" : "salary",

          "count" : 10,

          "mean" : 159.20000000000002,

          "variance" : 72.17777777777786,

          "skewness" : 0.1035519897524805,

          "kurtosis" : 2.685063487344997,

          "covariance" : {

            "self_esteem" : 8.953332879808212,

            "salary" : 72.17777777777786

          },

          "correlation" : {

            "self_esteem" : 0.9734162963071288,

            "salary" : 1.0

          }

        }

      ]

    }

  }

}



여기서 size는 실제 데이터 정보를 포함하는 영역이다. 실제 데이터를 볼 마음이 없다면 항상 size=0을 넣어야 한다.


누락된 값에 대한 디폴트 값을 지정할 수 있다. 


curl -XGET "http://localhost:9200/members/_search?pretty" -d'

  "aggs": { 

    "matrixstats": { 

      "matrix_stats": { 

        "fields": [ 

          "salary", 

          "self_esteem" 

        ], 

    "missing": {"self_esteem" : 5} 

      } 

    } 

  },"size": 0 

}








Posted by '김용환'
,