Elastic Search - Metric Aggregation
도큐먼트 안에서 조합을 통해 어떠한 값을 도출하는 방법
Metric Aggregation은 산술적인 부분에 사용된다
xxxxxxxxxxcurl -XPOST -H "Content-Type:application/json" --data-binary @basket.json파일의 내용을 넣는 것이니 `-data-binary 을 쓴다.
농구 데이터
basket.json 의 내용
xxxxxxxxxx{ "index" : { "_index": "basketball", "_type": "record", "_id": "1" }}{ "team" : "Chicago Bulls", "name" : "Michael Jordan", "points": 30, "rebounds": 3, "assists": 4, "submit_date" : "1996-10-11"}{ "index" : { "_index": "basketball", "_type": "record", "_id": "2" }}{ "team" : "Chicago Bulls", "name" : "Michael Jordan", "points": 30, "rebounds": 5, "assists": 8, "submit_date" : "1996-10-11"}
산술적인 값 도출을 위해
avg_points_aggs.json 을 작성한다.
파일이름에서 알 수 있듯 평균 값을 도출해낼 것이다.
xxxxxxxxxx{ "size": 0, "aggs": { "avg_score": { "avg": { "field": "points" } } }}
도큐먼트에서 points 값들의 평균을 나타낸다.
xxxxxxxxxxcurl -XGET localhost:9200/_search?pretty -H "Content_Type:application/json" --data-binary @avg_points_aggs.json
그럼 아래와 같은 결과가 출력된다.
x
{ "took" : 8, "timed_out" : false, "_shards" : { "total" : 15, "successful" : 15, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : 26, "max_score" : 0.0, "hits" : [ ] }, "aggregations" : { "avg_score" : { "value" : 25.0 } }}
'avg_points_aggs.json' 에서 "avg" 는 평균을 나타내게 한다.
sum , max, min , count 도 사용가능하다.
"avg_score"는 출력될때 무슨 값인질 나타내는 것이다.
그대로 이름이기에 산술 결과에 영향을 미치진 않는다.
그럼 sum. avg .... 등 산술연산들을 한번에 보기 위한 search를 해본다.
먼저 바이너리 데이터로 stats_points_aggs.json을 작성해본다.
xxxxxxxxxx{ "size": 0, "aggs" : { "stats_score" : { "stats" : { "field": "points" } } }}
xxxxxxxxxxcurl -XGET localhost:9200/_search?pretty -H "Content-Type:application/json" --binary-data @stats_points_aggs.json
출력결과
xxxxxxxxxx{ "took" : 4, "timed_out" : false, "_shards" : { "total" : 15, "successful" : 15, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : 26, "max_score" : 0.0, "hits" : [ ] }, "aggregations" : { "roharon_score" : { "count" : 2, "min" : 20.0, "max" : 30.0, "avg" : 25.0, "sum" : 50.0 } }}
위와 같이 출력된다.
다음 Aggregation은 Bucket Aggregation.
'Back-end' 카테고리의 다른 글
| Kibana - Visualization (0) | 2018.09.05 |
|---|---|
| Elastic Search - Bucket Aggregation (0) | 2018.09.01 |
| ElasticSearch Search 데이터 조회하기 (0) | 2018.08.30 |
| ElasticSearch Mapping (0) | 2018.08.30 |
| Elastic Search 벌크 (0) | 2018.08.29 |
댓글