반응형
만약 엘라스틱 서치에서 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"
}
}
}
}
}
}
}
}
반응형
'NoSQL > ElasticSearch' 카테고리의 다른 글
SQL문을 엘라스틱서치 query dsl로 변환 사이트 (0) | 2022.03.30 |
---|