Elasticsearch의 의미를 인터넷에 검색해보면 아래와 같이 나온다.
Elasticsearch는 오픈 소스 분산, RESTful 검색 및 분석 엔진, 확장 가능한 데이터 저장소 및 벡터 데이터베이스이다.
너무 어렵게 적혀져있다. First Word 법칙에 따라 쉽게 바꿔서 이해해보자.
Elasticsearch는 검색, 데이터 분석에 최적화된 데이터베이스이다.
이렇게 기억하고 있어도 충분하다.
최근 현업에서 Elasticsearch는 크게 2가지 용도로 사용된다.
데이터 수집 및 분석
Elasticsearch는 대규모 데이터(ex. 로그 등)를 수집 및 분석하는 데 최적화되어 있다. 주로 Elasticsearch(데이터 저장), Logstash(데이터 수집 및 가공), Kibana(데이터 시각화)를 같이 활용해 데이터를 수집 및 분석한다.
검색 최적화
Elasticsearch는 데이터가 많더라도 뛰어난 검색 속도를 가지고 있고, 오타나 동의어를 고려해서 유연하게 검색할 수 있는 기능을 가지고 있다. 쿠팡이나 배달의민족의 검색 기능도 전부 Elasticsearch를 활용해 구현되어있다.
(네이버나 구글은 자체적인 검색 엔진을 구축해서 사용한다.)
<aside> 👨🏻🏫
Elasticsearch를 처음 배우는 입장에서 2가지 활용 사례를 한 번에 익히려고 하면 방대한 학습량에 압도당할 것이다. 따라서 이 2가지 활용 사례 중에서 ‘검색 최적화’ 사례에 초점을 맞춰서 배워볼 것이다.
이렇게 1가지 사례에 초점을 맞춰서 학습하다보면, 자연스럽게 Elasticsearch의 기본 기능을 빠르게 익힐 수 있게 된다. 그런 뒤에 Elasticsarch의 디테일한 기능이나 작동 원리에 대해서 조금씩 학습하면서 살을 붙여나가면 된다.
</aside>