Elasticsearch 이란
검색 및 분석 엔진
Elasticsearch는 Apache Lucene을 기반으로 구축된 분산형 오픈소스 검색 및 분석 엔진입니다. 전체 텍스트 검색, 구조화된 검색 및 실시간 분석 기능을 제공합니다.
Elasticsearch란
Elasticsearch는 대용량 데이터 검색 및 분석에 최적화된 NoSQL 데이터베이스입니다. JSON 형식으로 데이터를 인덱싱하고 쿼리를 위한 강력한 REST API를 제공합니다.
주요 기능
- 전체 텍스트 검색 — 관련성 점수가 있는 자연어 검색
- 분산 아키텍처 — 클러스터 전반에 걸친 수평적 확장
- 실시간 — 거의 즉각적인 인덱싱 및 검색
- RESTful API — 간단한 HTTP 기반 상호 작용
핵심 개념
- 인덱스 — 문서 모음 (데이터베이스와 유사)
- 문서 — JSON 형식의 데이터 단위
- 샤드 — 인덱스의 수평 파티션
- 레플리카 — 장애 허용을 위한 샤드 복사본
사용 사례
- 웹사이트 및 애플리케이션 검색
- 로그 분석 (ELK Stack)
- 메트릭 모니터링
- 비즈니스 분석
- 추천 시스템
장점
- 수십억 문서에 걸친 검색 속도
- 유연한 데이터 스키마
- 풍부한 쿼리 언어 (Query DSL)
- 분석을 위한 집계
- 활발한 커뮤니티