Elasticsearch 기본 정리

Definition

- 엘라스틱서치는 색인 기능이 추가된 NoSQL DBMS이다.

- Full Text Search(전문검색) 문서의 점수화를 이용한 정렬데이터증가량에 구애받지 않는 실시간 검색 등을 제공

여러개의 노드로 구성된 분산시스템이다 노드는 데이터를 색인하고 검색기능을 수행하는 단위 프로세스이다. 각 노드는 복사본과 원본을 다른 위치에 저장하고 있어서 안전하다.

- 검색  서로 다른 인덱스의 데이터를 바로 하나의 질의로 묶어서 여러 검색 결과를 하나의 출력으로 도출할  있는 멀티 테넌시를 제공한다.

- 모든 데이터는 JSON 구조로 저장된다.

- RestFul API 지원하므로 URI 사용한 동작이 가능. (이런 Restful api 활용한 쿼리를 dsl 쿼리라고 한다.)



용어

Indexing : 검색할 데이터를 검색할 있는 구조로 변경하기 위해 원본 문서를 변환하여 저장하는 일련의 과정

Index : indexing 과정을 거친 결과물로 색인된 데이터가 저장되는 데이터 공간

searching : 색인에 들어있는 토큰을 기준으로 해당하는 토큰이 포함되는 문서를 찾는 과정

query : 사용자가 원하는 결과를 출력하기 위해 검색  입력하는 검색조건.

field : 엘라스틱서치 문서는 JSON으로 되어있고  프로퍼티를 field라고 부른다.

mapping : 인덱스/타입/문서의 규칙을 정의하는 .

type하나의 색인에서 하나 이상의 유형을 정의할  있다. (색인을 논리적으로 분류/구분하는 사용자가 정의하는 .)

document : 색인화   있는 기본 정보 단위. JSON 형식으로 존재.

shard : 조각으로 분할하는 기능을 제공 (콘텐츠 볼륨의 수평 분할/확장이 가능), 작업을 병렬화 함으로써 성능/처리량을 늘릴  있다.

replica : 고가용성을 높이기 위해서 복제 (기본적으로 elasticsearch  색인은 기본 shard 5섯개replica 1개를 보유) 

댓글()