ES|QL 참조

Elasticsearch Query Language(ES|QL)는 데이터를 필터링하고 변환하고 분석하기 위한 파이프 기반 쿼리 언어입니다.

ES|QL 쿼리를 작성해 특정 이벤트를 찾고, 통계 분석을 수행하고, 시각화를 생성할 수 있습니다. 필터, 집계, 시계열 분석 등 다양한 데이터 작업을 수행할 수 있는 폭넓은 명령어, 함수, 연산자를 지원합니다. 처음에는 Query DSL에서 제공하는 기능의 일부만 지원했지만, Elastic Cloud Serverless 및 Stack 릴리스마다 빠르게 발전하고 있습니다.

ES|QL은 읽고 쓰기 쉽도록 설계되어 기술 수준이 다양한 사용자도 접근할 수 있습니다. 특히 Elasticsearch에서 대규모 데이터셋을 다뤄야 하는 데이터 분석가, 보안 담당자, 개발자에게 유용합니다.

효율적인 쿼리 작성 요령은 ES|QL 쿼리 성능 최적화를 참조하세요.

ES|QL은 파이프(|)를 사용해 데이터를 단계별로 조작하고 변환합니다. 이 방식에서는 한 작업의 출력이 다음 작업의 입력이 되는 일련의 작업을 구성할 수 있어 복잡한 데이터 변환과 분석이 가능합니다.

다음은 간단한 ES|QL 쿼리 예시입니다:

FROM sample_data
| SORT @timestamp DESC
| LIMIT 3
		

쿼리의 각 줄은 데이터 처리 파이프라인의 한 단계를 나타냅니다:

  • FROM 절은 쿼리할 인덱스 또는 데이터 스트림을 지정합니다
  • SORT 절은 @timestamp 필드를 기준으로 데이터를 내림차순 정렬합니다
  • LIMIT 절은 출력을 상위 3개 결과로 제한합니다

ES|QL은 두 가지 방식으로 사용할 수 있습니다:

  • 프로그래밍 방식 접근: Elasticsearch _query 엔드포인트에서 ES|QL 구문을 사용합니다.

  • 대화형 인터페이스: Kibana Discover, Dashboards, Dev Tools를 비롯해 Elastic Security 및 Observability의 분석 도구 등 Elastic 사용자 인터페이스를 통해 ES|QL을 사용합니다.

관련 서킷 브레이커 설정은 Circuit Breakers 페이지에서 확인할 수 있습니다.