
아파치 루씬 라이브러리를기반으로 만든 분산 검색 엔진
JSON 기반의 문서를 저장, 색인, 검색한다.
REST API를 사용하여 작업 요청을 보낸다.
RDBMS와 다르게 트랜잭션이 지원되지 않으며, 사실상 조인도 지원하지 않는다.
엘라스틱서치의 데이터를 손쉽게 시각화하는 키바나,
색인할 데이터를 수집하고 변환하는 로그스태시 프로젝트가 엘라스틱에 합류하여 ELK 스택이라고 부른다.
ELK 스택으로 데이터의 수집, 변환, 저장, 색인, 검색, 시각화까지 데이터 생명 주기 전체를 해결할 수 있다.
RDBMS와 다르게 단순 텍스트 매칭 검색이 아닌 전문(full-text) 검색을 지원한다.
역색인을 사용하여 검색 속도가 매우 빠르다.
비즈니스 요구사항에 맞는 색인을 구성하거나 형태소 분석이 가능하다.
역색인이란?
문서를 토큰으로 잘게 쪼개고 정규화해서 어떤 단어가 문서의 어느 부분에 있는지 찾기 쉽게 하는 작업
데이터를 여러 노드에 분산 저장한다.
검색이나 집계 작업을 수행할 때도 분산 처리를 지원한다.
일부 노드에 장애가 발생해도 복제본 데이터를 이용해 무중단 서비스를 지원한다.
복제본의 개수를 유지하면서 노드 간 데이터의 균형을 자동으로 맞춘다.
더 많은 처리 능력이 필요할 때 새로운 노드에 엘라스틱서치를 설치하여 클러스터에 참여시키는 것만으로 확장이 가능하다.
새로운 노드에 데이터를 복제하는 작업도 자동으로 수행한다.
데이터를 색인하자마자 조회하는 것은 가능하지만, 데이터 색인 직후의 검색 요청은 성공하지 못할 가능성이 높다.
엘라스틱서치가 역색인을 구성하고 이 역색인으로부터 검색이 가능해지기까지 시간이 소요된다. (기본 설정으로 최대 1초 정도)