NoSQL/ElasticSearch
ElasticSearch에서 여러 필드 GroupBy 하는법
ghyeong
2022. 4. 7. 17:43
반응형

만약 엘라스틱 서치에서 RDBMS에서 처럼 GroupBy로 묶으려면 해당 필드를 subAggregation형태로 쿼리DSL을 만들어 주면 된다.
<예시>
SQL
SELECT
*
FROM
example
WHERE
wantField = 3
GROUP BY
field1,
field2,
field3
<예시>
Query DSL
GET example*/_search?
{
"size": 0,
"query": {
"bool": {
"filter": [
{
"term": {
"wantField": {
"value": 3,
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"aggs": {
"agg1": {
"terms": {
"field": "field1"
},
"aggs": {
"agg2": {
"terms": {
"field": "field2"
},
"aggs": {
"agg3": {
"terms": {
"field": "field3"
}
}
}
}
}
}
}
}
반응형