[ElasticSearch] - aggregration query
ElasticSearch 의 aggregration 쿼리 에 대하여 알아 봅니다.
- 조회 결과의 내용을 부가적인 통계를 추출 하는데 사용하며 특정 데이터 값의 Range를 기반으로 처리 하는 예를 들어 보았습니다.
- 조회 결과에는 내용과 함께 aggregations가 나옵니다.
다음 예는 bucket을 기반으로 한 Range Aggregration 입니다
range aggregation
[쿼리툴]
http://elastichammer.exploringelasticsearch.com/
1. post : http://10.20.12.96:9200/_all/action
2. _search
3. 아래 { "aggs" : ..... } 를 입력한다.
---------------------------------------------------------------------
[curl을 이용한 쿼리 ]
curl -X POST http://10.20.12.96:9200/_all/action/_search -d '{
"aggs" : {
"price_ranges" : {
"range" : {
"field" : "item.price",
"keyed" : true,
"ranges" : [
{"to" : 100000 },
{"from" : 100000, "to" : 500000 },
{"from" : 500000, "to" : 1000000 },
{"from" : 1000000, "to" : 1500000 },
{"from" : 1500000 }
]
}
}
}
}';
-----------
Response
{
"took": 5,
"timed_out": false,
"_shards": {
"total": 25,
"successful": 25,
"failed": 0
},
"hits": {
"total": 59,
"max_score": 1,
"hits": [
{ "_index": "cbtaction-20141010",
"_type": "action",
"_id": "nAVlcMWGSdqzMT3f7AZc7w",
"_score": 1,
"_source": {
"action": "basket.ajax",
"zone": "ko.seoul",
"site": "shop.fashion",
"uid": "user_12312312web",
"category": "패션3",
"category2": "여성의류",
"category3": "트레이닝복|트레이닝 하의",
"item": "B패치 7부 트레이닝복 트레이닝팬츠 반바지 요가바지 트레이닝바지 츄리닝 트레이닝 여성 여 자 바지",
"item.prdno": 10121212102102,
"item.price": 3234244,
"item.info": "트레이닝 하의",
"url": "http://10.20.12.52:8085/action3.html",
"url.ref": "",
"_key": "cbt.action.clz96",
"@timestamp": "2014-10-10T19:31:07+09:00"
}
}
]
},
"aggregations": {
"price_ranges": {
"buckets": {
"*-100000.0": {
"to": 100000,
"to_as_string": "100000.0",
"doc_count": 0
},
"100000.0-500000.0": {
"from": 100000,
"from_as_string": "100000.0",
"to": 500000,
"to_as_string": "500000.0",
"doc_count": 30
},
"500000.0-1000000.0": {
"from": 500000,
"from_as_string": "500000.0",
"to": 1000000,
"to_as_string": "1000000.0",
"doc_count": 0
},
"1000000.0-1500000.0": {
"from": 1000000,
"from_as_string": "1000000.0",
"to": 1500000,
"to_as_string": "1500000.0",
"doc_count": 0
},
"1500000.0-*": {
"from": 1500000,
"from_as_string": "1500000.0",
"doc_count": 29
}
}
}
}
}
'BigData' 카테고리의 다른 글
Apache Spark로 집계하기 클러스터 컴퓨팅으로 집계 해결 (2) (0) | 2017.06.14 |
---|---|
Apache Spark로 집계하기 클러스터 컴퓨팅으로 집계 해결 (1) (0) | 2017.06.14 |
[ElasticSearch] Query DSL (0) | 2014.10.13 |
fluentd + elasticsearch 설치 하기 (0) | 2014.09.24 |
install ElastSearch (0) | 2014.09.03 |
오라클 Charset 변경 해야 하는 이유와 방법 (0) | 2014.04.11 |
ORACLE heterogeneous connection 란 (0) | 2014.03.07 |