본문 바로가기
미들웨어/ElasticSearch

Elasticsearch에 대해 가볍게 알아보자.

by leedonggeun 2023. 8. 20.

1. Elasticsearch란?

아파치 루씬(Apache Lucene) 기반의 분산형 검색 엔진입니다.
RDBMS처럼 열 데이터(Column)로 저장하는 것이 아닌, JSON 문서로 직렬화된 데이터를 저장합니다.
위에서 소개한 대로 분산형 검색 엔진으로 하나의 클러스터 내에 여러 노드가 있을 경우, 전체에 분산되어 저장되며 어떤 노드에서든 쉽고 빠르게 접근할 수 있습니다.

또한, 문서가 저장되고 실시간(약 1초 이내)으로 색인되어 검색이 가능합니다. 이를 위해 Elasticsearch는 역 색인(inverted index)이라는 데이터 구조를 사용합니다. 이 역 색인은 문서 내의 모든 단어를 나열하고, 그 단어에 문서를 Key-Value 형식으로 추가합니다. 즉, 아래와 같은 구조가 됩니다.

역 색인을 간단히 보여준 자료

즉, My 라는 단어를 검색했다고 가정하면, elasticsearch는 가지고있는 역색인 정보에서 My 단어에 저장된 문서의 정보를 반환하면 되기 때문에 빠른 검색이 가능합니다.

 

2. 참고

https://www.elastic.co/guide/en/elasticsearch/reference/8.9/documents-indices.html

'미들웨어 > ElasticSearch' 카테고리의 다른 글

RPM을 이용해 Elasticsearch를 설치해보자.  (1) 2023.09.22

댓글