Contents
- 엘라스틱 서치 - 소개
- Documents and indices
엘라스틱 서치 - 소개
Elastic search는 Elastic Stack의 핵심에 있는 분산 검색 및 분석 엔진이다.
Logstash 및 Beats는 데이터를 수집, 집계 및 풍부하게 하고 Elasticsearch에 저장할 수 있도록 지원한다.
키바나를 사용하면 탐색, 시각화 및 공유하고 스택을 관리 및 모니터링할 수 있다.
Elastic search는 인덱싱, 검색, 분석이 일어나는 곳이다.
Elasticsearch는 모든 유형의 데이터에 대한 실시간 검색 및 분석을 제공한다.
Elasticsearch는 정형 또는 비정형 텍스트, 숫자 데이터 또는 지리공간 데이터를 가지고 있든지 간에
빠른 검색을 지원하는 방식으로 효율적으로 저장하고 인덱싱할 수 있다.
단순한 데이터 검색 및 집계 정보를 넘어 데이터의 동향과 패턴을 찾아낼 수 있다.
또한 데이터와 쿼리 볼륨이 증가함에 따라 Elasticsearch의 분산된 특성으로 인해 구축도 원활하게 확장할 수 있다.
Elasticsearch는 데이터를 처리할 수 있는 속도와 유연성을 제공한다.
-Documents and indices
엘라스틱 서치는 분산된 document 저장소다.
엘라스틱은 정보를 컬럼 의 데이터 행으로 저장하는 대신
JSON documents 로 직렬화된 complex 데이터 구조를 저장한다.
클러스터에 여러개의 노드가 있는 경우엔, 저장된 documents 는 클러스터 전체에 분산 저장되고 ,
아무 노드에서나 데이터에 즉시 접근 할 수 있다
일단 document 가 저장되면, 거의 1초 내에 실시간으로 검색 할 수 있다.
엘라스틱서치는 inverted index 라는 데이터 구조를 사용해서 매우 빠른 전체 텍스트 검색을 지원한다.
inverted index 는 모든 unique 단어를 나열하고 식별한다
인덱스는 최적화된 documents의 모음들이라 생각 할 수 있고,
각 document 는 key-value 쌍으로 되어있는 fields 의 모음이다.
기본적으로 , 엘라스틱서치는 모든 필드의 모든 데이터를 인덱싱 하고
각 인덱스된 필드는 최적화된 data structure 를 가지고 있다.
예를 들면 , 텍스트 필드는 inverted indices 에 저장되고 , numeric 과 geo 필드가 BKD 트리에 저장된다.
각 필드별 데이터 구조를 사용하여 검색 결과를 조합하고 반환하는 기능이 엘라스틱 서치를 매우 빠르게 만들었다.
엘라스틱 서치는 스키마 - 레스 기능을 가지고 있는데,
이건 documents 에서 발생하는 각각의 다른 필드를 처리하는 방법을 명시적으로 지정하지 않고도 인덱스화 시킬 수 있다는 것을 의미한다.
동적 맵핑이 활성화 되면 엘라스틱서치는 자동으로 새 필드를 detects 해서 인덱스에 추가한다.
이 기본 동작으로 데이터를 쉽게 인덱싱하고 탐색 할 수 있게 된다.
- 단순히 documents 를 인덱싱 시작하면, 엘라스틱서치는
map boolean , floating point and integer values , dates, and string 같은
적절한 데이터 유형을 맵핑 하기 위해 detect 한다.
궁극적으로는 동적 맵핑(dynamic mapping) 을 control 하기 위한 룰들을 정의 할 수 있고 ,
필드를 저장하고 인덱싱하는 방법을 완전히 제어하는 매핑을 명시적으로 정의 할 수 있게 되는게 목표다.
- documnets 를 컬럼으로 저장하지 않고 , 직렬화 된 complex 데이터 구조로 저장한다.
엘라스틱 서치에서 documents 는 key- value 쌍으로 되어있는 fields 의 모음이다.
index 는 최적화된 documents 의 모음이다.
'데이터처리 > elasticSearch' 카테고리의 다른 글
elasticsearch 성능 극대화 (0) | 2021.08.30 |
---|---|
elasticsearch 데이터 검색 & 분석 (0) | 2021.08.30 |
elasticsearch 소개 (0) | 2021.08.27 |
ElasticSearch - 텍스트 정렬 (0) | 2020.10.31 |
[elasticSearch] 엘라스틱서치 기본 개념 (0) | 2020.06.01 |