# elasticsearch
Elasticsearch 개요
Elasticsearch는 Elastic Stack의 구성 중 하나이며, Apache Lucene 기반의 검색엔진 이다. Lucene은 오픈 소스 검색 엔진으로 확장 가능하다. Elasticsearch에서 Lucene 인덱스를 수평 확장할 수 있다.
Tokenizer Filter
전처리 필터를 거쳐 토크나이저 필터로 문서가 넘어오면 해당 텍스트는 Tokneizer의 특성에 맞게 적절히 분해된다.분석기에서 어떠한 토크나이저를 사용하느냐에 따라 분석기의 전체적인 성격이 결정됨일반적으로 사용하는 토크나이저대부분의 기호를 만나면 토큰으로 나눈다공백을
[Elasticsearch] Elasticsearch 기본 개념 잡기
Elasticsearch 란 ?Elasticsearch 는 Apache Lucene (아파치 루씬) 기반의 Java 오픈소스 분산 검색 엔진입니다.Elasticsearch 를 통해 루씬 라이브러리를 단독으로 사용할 수 있게 되었으며, 방대한 양의 데이터를 신속하게, 거

[Django] Kibana의 BI를 Web서비스로 제공
개요 Kibana -> Django의 시각화 제공 예정 사용방법 Share에서 Embed code 선택 포함시킬 옵션을 선택 및 Copy Copy한 iFrame code를 Html에 붙여넣기 결과 Kibana를 클라이언트에게 Web Service를 제공 
[Django] Elasticsearch에 저장된 데이터 Web 서비스에서 제공하기
개요 ElasticSearch -> Django로 전달 예정 Django는 ES데이터를 API를 사용하여 가져올 예정 Python Elasticsearch Client 사용할 예정 출처 : Elasticsearch Client Install ElasticSearch API 설치 코드 ./post/views.py 최신뉴스이므로 모든 데이터 중 10개의 데...

[ElasticSearch] Fluentd와 연동
개요 실시간 크롤링한 뉴스 데이터를 전달할 플랫폼이 필요함 Kafka -> Fluentd -> Elastic Search로 전달 예정 들어온 데이터를 시각화 및 BI 따라서 Fluentd ES 연동이 필요함 제한사항 index_name 이름은 news(대문자가 들어가면 안됨) 받는 데이터(네이버 뉴스) 뉴스 제목 신문사 뉴스 장르(정치, IT...

[Fluentd] Consumer2
개요 실시간 크롤링한 뉴스 데이터를 전달할 플랫폼이 필요함 Consumer를 Fluentd를 사용할 예정 Kafka -> Fluentd -> Elastic Search로 전달 예정 따라서 Consumer를 표준출력을 ES로 보내기 위해 conf파일 수정 예정 제한사항 topic 이름은 news(대문자가 들어가면 안됨) 보낼 데이터(네이버 뉴스) 뉴스 ...
[Elasticsearch] 노드 교체
노드 교체 1. shard routing none 2. 추가할 노드 start 3. 제거할 노드 stop 4. 추가한 노드 클러스터에 들어왔는지 확인 5. shard routing null 6. shard가 initializing 되는지 모니터링 7. sha
ElasticSearch field 와 field.keyword
elastic search 검색 중 field를 검색하는데 결과가 나오지 않고 에러 발생..확인해보니 field.keyword를 붙여주어 검색을 해야했었다..그래서 field 와 field.keyword의 차이점을 알아보려고 한다.es 5.0 이후 부터는 String

ElasticSearch 검색 API 사용
ElasticSearch를 통해 실시간 데이터를 받아올 일이 생겨 검색 api를 알아보았다.현재 사용하는 웹 서버는 node를 사용하고 있어 npm install elasticsearch 으로 npm 모듈을 사용하여 검색을 할 수도 있으나, 직접 url query를 날
Elasticsearch 살펴보기 6탄 - CAT API
보통 Elasticsearch API들의 결과는 JSON 포맷으로 보여진다. 그러나 JSON은 항상 읽기 쉽지는 않다. CAT API는 출력된 결과 포맷을 읽고 이해하는데 좀 더 쉽게 해준다. 다른 용도로 server에 사용되는 CAT API에는 다양한 paramete
Elasticsearch 살펴보기 5탄 - Index API
Index API는 setting, aliases, mappings, index templates같은 index의 모든 측면을 관리한다.이 API는 index를 생성한다. index는 JSON Object를 어떤 index에라도 통과시킬 때 자동으로 생성된다. 또는 J
Elasticsearch 살펴보기 4탄 - 집계
Elasticsearch에서 집계하는 포맷은 다음과 같다.Metrics Aggregations는 집계된 documents의 field 값으로부터 metric을 계산한다. 때때로 값은 script에 의해 생성되기도 한다.Numeric Metrics는 평균같은 단일값이거나
Elasticsearch 살펴보기 3탄 - 검색 API
Search API는 Elasticsearch에 있는 content를 검색할 때 사용한다. parameter로서 query string을 가진 get request를 보냄으로서 검색할 수 있다. 또는 post request의 message body에 query를 전송할
Elasticsearch 살펴보기 2탄 - Document API
Elasticsearch는 단일 문서(single document) APIs와 다중 문서(multi-document) API를 제공한다. Index API Index API는 특정 매핑을 가지는 index에 대한 요청이 있을 때 index에 JSON document를

Elasticsearch 살펴보기 1탄 - REST API 및 API 규약
Elasticsearch는 HTTP를 통해 JSON에 access할 수 있는 REST API를 제공한다. Elasticsearch API를 활용하여 데이터를 어떻게 조작하는지 알아본다. >REST란? REST(Representational State Transfer)