Dazzling 개발 노트

[Elasticsearch] Elasticsearch & Query DSL 본문

DevOps/Elastic

[Elasticsearch] Elasticsearch & Query DSL

dj._.dazzling 2024. 3. 1. 14:45

쿼리 DSL(Query Domain Specific Language)

사용자가 데이터를 쿼리하고 조작하는 방법을 정의하는데 사용되는 JSON 기반의 언어
 
  • 검색 쿼리 (query) : 특정 조건에 맞는 문서 조회 가능 : 데이터를 검색하는데 사용되는 다양한 쿼리 유헝(match, term, range 등)을 포함하여 복잡한 검색 조건 구성 가능
  • 집계 (aggregation) : 데이터에 대한 복잡한 분석과 집계 수행 가능 : terms, histogram, bucket 등 다양한 유형의 집계로 데이터 요약, 통계, 분석 수행 가능

term과 match 쿼리의 차이점

  • term : 정확한 값 일치를 위해 사용
    • 분석기를 거치지 않아 입력한 텍스트와 완전히 동일한 결과를 조회한다.
  • match : 분석된 텍스트와 일치하거나 유사한 결과를 위해 사용
    • 분석기를 거치며 입력한 텍스트를 분석한 결과를 조회한다.

term과 terms의 차이점

  • term (query) : 단일 용어에 정확히 일치하는 문서를 찾는 데 사용
  • terms (aggregation) : 집계 내에서 사용하는 함수로, 지정된 필드의 고유한 값을 기반으로 문서 그룹을 생성, 그룹별로 문서 집계 가능