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개를 보유)
'데이터베이스 > Elasticsearch' 카테고리의 다른 글
Elasticsearch 한글 형태소 설치 및 사용 (0) | 2018.10.06 |
---|---|
elasticsearch multi type 기능 제거 이슈 (0) | 2018.10.06 |
Elasticsearch 질의 DSL 정리 (0) | 2018.10.06 |
인덱스 생성 및 데이터 삽입 (0) | 2018.10.05 |
Docker Container에 Elasticsearch와 데이터 시각화 kibana 설치 및 연동 (0) | 2018.10.05 |