본문 바로가기
Edu/04. ElasticSearch

엘라스틱 서치란?

by Lacuna028 2021. 7. 15.

* 학습 내용

- 엘라스틱 서치 정의 및 개념

 

 

1. ELK

ELK(ELK Stack) = Elasticsearch + Logstash + Kibana

: 대용량 데이터 저장 및 빠른 검색 가능, 데이터 분석, 데이터 시각화, 훌륭한 검색 엔진 및 시각화 툴 기능

 

 

2. Elasticsearch

- 데이터 저장소, 빅데이터 처리할 때 매우 유용(RDBMS와 흡사)

- 루씬 기반Full Text로 검색이 가능한 오픈소스 텍스트 기반 분석용 검색 엔진

- RESTful API를 이용해 처리

- HTML 기반의 RESTful를 활용하고 요청/응답 데이터 포멧으로 JSON 사용

- 대용량의 데이터를 신속하고 실시간으로 저장, 검색 및 분석할 수 있음

- 쿼리가 매우 빠르게 수행 : Rest API + JSON(데이터 구조)

    - 데이터 저장: POST + JSON

    - 데이터 수정: PUT + JSON

    - 데이터 검색: GET + JSON

    - 데이터 삭제: DELETE + JSON

- 속도와 확장성이 좋아 분산 구성이 가능하며, 분산 환경에서 데이터는 shard라는 단위로 나뉨

- 엘라스틱서치가 빠른 이유는 역색인(inverted index)개념이 도입되었기 때문

- 일반적인 구조의 경우 처음부터 끝까지 모든 문서를 읽어야만 원하는 결과를 얻을 수 있지만

역색인 구조인 경우 해당 단어만 찾으면 단어가 포함된 모든 문서의 위치를 알 수 있음
( 책 뒷부분의 색인을 보고 해당 페이지를 찾아가는 것과 유사)

- term: 추출된 각 키워드 의미

- 데이터가 저장되었다는 의미는 indexing되었다고 표현

- 역색인 단계

    1단계 : 문서를 토큰화(term으로 구성함을 의미)

    2단계 : 토큰화된 단어에 대해 문서 상의 위치와 출연 빈도 등의 정보를 확인

- elastic search는 대소문자 구분