-
엘라스틱 서치 8 - 고급검색Infra 2023. 12. 21. 20:00
주제 8: 엘라스틱서치(Elasticsearch)에서의 고급 검색
엘라스틱서치는 사용자가 다양한 방법으로 복잡한 검색 질의를 수행할 수 있게 해주는 고급 검색 기능을 제공합니다. 이번 주제에서는 엘라스틱서치에서 고급 검색을 수행하는 방법에 대해 알아보겠습니다.
8.1 고급 검색 개념
엘라스틱서치의 고급 검색 기능은 복합 쿼리, 스크립팅, 정렬, 페이징 등 다양한 기능을 제공합니다. 이를 통해 사용자는 복잡한 검색 요구사항을 만족시키는 검색 질의를 수행할 수 있습니다.
8.2 고급 검색 실습
8.2.1 복합 쿼리
아래 예제는 'my_index'라는 인덱스에서 'message' 필드에 'cool'이라는 단어를 포함하고, 'date' 필드의 값이 '2023-01-01' 이후인 문서를 검색하는 복합 쿼리입니다.
curl -X GET "localhost:9200/my_index/_search?pretty" -H 'Content-Type: application/json' -d' { "query": { "bool": { "must": [ { "match": { "message": "cool" } }, { "range": { "date": { "gte": "2023-01-01" } } } ] } } } '
8.2.2 정렬과 페이징
아래 예제는 'my_index'라는 인덱스에서 'price' 필드의 값이 100 이상인 문서를 검색하고, 'date' 필드의 값에 따라 정렬한 후, 10개의 결과만 반환하는 쿼리입니다.
curl -X GET "localhost:9200/my_index/_search?pretty" -H 'Content-Type: application/json' -d' { "query": { "range": { "price": { "gte": 100 } } }, "sort": [ { "date": "desc" } ], "size": 10 } '
이렇게 엘라스틱서치에서는 고급 검색 기능을 통해 복잡한 검색 질의를 수행할 수 있습니다. 다음 주제에서는 엘라스틱서치의 클러스터 관리 기능에 대해 알아보겠습니다.
'Infra' 카테고리의 다른 글
엘라스틱 서치 10 - 인덱스 설정, 매핑, 템플릿 등록, 라이프사이클 관리 (0) 2023.12.28 엘라스틱 서치 9 - 클러스터 설정 및 관리 (0) 2023.12.25 엘라스틱 서치 7 - 스크립팅 (0) 2023.12.18 엘라스틱 서치 6 - 전문(full-text) 검색 (0) 2023.12.14 엘라스틱 서치 5 - 데이터 집계 (1) 2023.12.11