Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- serverless
- S3
- 정책자금
- 외국납부세액공제
- AWS
- 농지연금
- 공매
- 신탁공매
- kubectl
- OpenSearch
- command
- Filter
- lambda
- 경매
- 금융소득
- 산지연금
- 성능개선
- 리소스
- Kubernetes
- 임업후계자
- 매입불공제
- pod
- Resolver
- boto3
- 세금계산서
- route53
- python
- node
- 양도소득세
- 인덱싱
Archives
- Today
- Total
진지한 개발자
OpenSearch 기본 쿼리 본문
728x90
AWS OpenSearch 란
- 오픈 소스 검색 및 분석 엔진으로, Elasticsearch의 포크 버전임
- 검색, 로깅, 분석, 실시간 데이터 시각화 등 다양한 용도로 사용됨.
- AWS OpenSearch는 AWS에서 호스팅되는 관리형 서비스로 제공되며, 사용자가 쉽게 확장 가능한 클라우드 기반 검색 솔루션을 구축할 수 있음
- AWS OpenSearch는 오픈 소스이기 때문에 커스터마이징이 가능함
OpenSearch 기본 쿼리
- match
{
"query": {
"match": {
"field_name": "search_term"
}
}
}
- range
{
"query": {
"range": {
"date_field": {
"gte": "2023-01-01",
"lte": "2023-12-31"
}
}
}
}
- partial match
{
"query": {
"wildcard": {
"field_name": {
"value": "*part_of_term*"
}
}
}
}
- aggregation
{
"aggs": {
"agg_name": {
"terms": {
"field": "field_name"
}
}
}
}
집계함수의 예제쿼리
- 항목별 개수 집계
{
"aggs": {
"item_count": {
"terms": {
"field": "item_field"
}
}
}
}
- 범위별 값 합계 집계
{
"aggs": {
"total_amount": {
"sum": {
"field": "amount_field"
}
}
}
}
- 날짜별 데이터 통계 집계
{
"aggs": {
"date_stats": {
"date_histogram": {
"field": "date_field",
"interval": "month"
},
"aggs": {
"total_amount": {
"sum": {
"field": "amount_field"
}
}
}
}
}
}
- 중첩집계
복사
{
"aggs": {
"category_agg": {
"terms": {
"field": "category_field"
},
"aggs": {
"avg_price": {
"avg": {
"field": "price_field"
}
}
}
}
}
}
- 그룹별 집계
{
"aggs": {
"group_by_field": {
"terms": {
"field": "group_field"
},
"aggs": {
"total_sum": {
"sum": {
"field": "numeric_field"
}
},
"min_value": {
"min": {
"field": "numeric_field"
}
},
"max_value": {
"max": {
"field": "numeric_field"
}
}
}
}
}
}
집계함수에서 사용되는 대표속성
- terms: 지정된 필드의 값에 따라 결과를 그룹화합니다.
- sum: 지정된 숫자 필드의 합계를 계산합니다.
- avg: 지정된 숫자 필드의 평균을 계산합니다.
- min: 지정된 숫자 필드의 최소값을 찾습니다.
- max: 지정된 숫자 필드의 최대값을 찾습니다.
- stats: 지정된 숫자 필드에 대한 통계(최소값, 최대값, 합계, 평균)를 계산합니다.
- date_histogram: 날짜 필드를 기반으로 주어진 간격에 따라 결과를 그룹화합니다.
- filter: 지정된 필터 조건에 맞는 결과만을 집계합니다.
- range: 범위 내에 속하는 결과를 집계합니다.
- geo_distance: 지리적 거리를 기반으로 결과를 그룹화합니다.
- top_hits: 각 그룹에서 최상위 N개의 문서를 반환합니다.
728x90
'SQL > OpenSearch' 카테고리의 다른 글
OpenSearch 의 Hybrid Query (0) | 2024.02.17 |
---|