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 |
---|
댓글