ElasticSearch

    로그스태시(Logstash) 기본

    1. 로그스태시 소개 및 특징 로그스태시는 플러그인 기반의 오픈소스 데이터 처리 파이프라인 도구다. 데이터 수집을 위해서 별도의 어플리케이션을 생성하는 것보다 로그스태시 사용이 추천된다. 로그스태시 특징은 아래와 같다. 플러그인 기반: 로그스태시의 파이프라인을 구성하는 각 요소들은 전부 플러그인 형태로 만들어져 있다. 기본으로 제공되는 플러그인 외에도 수많은 커뮤니티 플러그인을 사용할 수 있다. 모든 형태의 데이터 처리: 기본 제공되는 플러그인들의 조합만으로도 대다수의 데이터 소스에서 json, xml 등 구조화된 텍스트 뿐 아니라 다양한 형태의 데이터를 입력받아 가공한 다음에 저장이 가능하다. 특히, 이벤트 데이터(시간에 따라 발생하는 데이터)를 처리하는 데 최적화되어 있다. 성능: 자체적으로 내장되어..

    개인기록 - 오타교정 및 자동완성

    기반 데이터셋 INDEX - wine_basket (오타교정을 위한 시도, kname에 ngram 분석기 적용) index settings { "number_of_shards": "5", "number_of_replicas": "1", "max_ngram_diff": "50", "analysis": { "analyzer": { "ngram_analyzer": { "type": "custom", "tokenizer": "ngram_tokenizer", "filter": [ "lowercase", "trim"] }, "edge_ngram_analyzer": { "type": "custom", "tokenizer": "edge_ngram_tokenizer", "filter": [ "lowercase", "tr..

    엘라스틱서치 오타 교정, 자동 완성 등 구현

    ICU Analysis Plugin을 통한 오타 교정 구현 ICU Analysis Plugin 설치 elasticsearch-plugin install anlaysis-icu 인덱스생성 Kibana의 Machine Learning탭의 Data Visualizer 기능 사용, 간단하게 인덱스 생성 Machine Learning 탭 -> Upload File -> kname, ename이 담긴 csv 파일 불러오기 import -> advanced -> 인덱스명, 인덱스 셋팅과 맵핑 각각 설정 index settings { "number_of_shards": "1", "analysis": { "filter": { "my_filter": { "mode": "decompose", "name": "nfc", "t..

    엘라스틱서치, 검색

    드디어 엘라스틱서치로 검색을 해본다. 일단, 책에서는 엘라스틱서치의 검색에 대해 아래와 같이 설명한다. 엘라트식서치는 텍스트, 숫자, 정형, 비정형 데이터를 저장한 다음에 인덱싱을 마치고 나면 바로 쿼리를 실행해 결과를 얻을 수 있다. 특히, 단순 텍스트 매칭 기법을 넘어서 텍스트를 여러 단어로 변형해 검색할 수 있으며, 스코어링 알고리즘을 적용해 연관성이 높은 결과에 대한 제어가 가능하므로 대량의 데이터를 대상으로 빠르고 정확한 검색이 가능하게 만들어준다. 이번 실습으로 쿼리 컨텍스트와 필터 컨텍스트의 차이, 쿼리 스트링과 쿼리 DSL의 차이, 스코어 계산 알고리즘, 자주 사용하는 쿼리를 본격적으로 배우게 된다. 1. 쿼리 컨텍스트와 필터 컨텍스트 일단 두 컨텍스트의 이론은 다음과 같다. 쿼리 컨텍스트..

    인덱스 템플릿과 분석기

    1. 인덱스 템플릿 인덱스 템플릿은 주로 설정이 동일한 복수의 인덱스를 만들 때 사용한다. 즉, 말 그대로 템플릿이다. 템플릿에 맞춰, 인덱스를 찍어낸다는 것. 이 템플릿을 만들어보...기 전에 한번 템플릿이 어떤게 있는지 확인해보자. 그냥 _index_template만 입력하면 모든 인덱스 템플릿을 검색하고, 뒤에 ilm*을 추가하면 특정 인덱스(ilm으로 시작하는) 템플릿을 확인할 수 있다. 그래서 ilm-history라는 인덱스가 나온 것이다. 이제 템플릿을 하나 만들어보자. PUT _index_template/test_template { "index_patterns": ["test_*"], "priority": 1, "template": { "settings": { "number_of_shards..

    엘라스틱서치 기본

    엘라스틱서치의 기본기를 다져보자. 1. 준비 작업 우선 cmd에서 elasticsearch와 kibana를 실행, 키바나의 Dev Tools에 있는 콘솔을 이용해 REST API를 호출하도록 하자. REST API(Representational State Transfer API) : 웹(HTTP)의 장점을 이용해 릿소스를 주고받는 형태이며, 메소드(method)와 경로(URL)가 합쳐진 형태다. 메소드는 POST, GET, PUT, DELETE가 있다. CRUD(Create, Read, Update, Delete)를 이걸로 수행한다. 이제 키바나에 들어가서 왼쪽 상단의 토글 메뉴를 클릭, Management -> Dev Tools를 선택한다. 이 키바나 콘솔을 이용하면, 복잡한 앱 개발이나 프로그램 설치..

    엘라스틱 설치 다시시도

    저번 엘라스틱서치 실무가이드 기반으로 환경설정할 때 잘 안되서... 이번에는 아예 '윈도우' 운영체제에 맞는 엘라스틱 스택: 개발부터 운영까지 책을 기반으로 환경설정을 해보려고 한다. https://product.kyobobook.co.kr/detail/S000001932755 엘라스틱 스택 개발부터 운영까지 | 김준영 - 교보문고 엘라스틱 스택 개발부터 운영까지 | 데이터를 처리하는 데 서로 잘 맞지도 않는 오픈소스 기술들을 굳이 동원해야 할까? 제각각인 오픈소스들을 통합하고 운영하느라 지친 개발자와 운영자들을 product.kyobobook.co.kr 1. 엘라스틱서치 7.10.1 버전 설치 저번에는 6.4.3 버전이었는데 이번에는 7.10.1 버전으로 설치해본다. https://www.elastic..

    검색 시스템과 ElasticSearch

    한글 검색 시스템을 구현해보기 위해서, 엘라스틱서치를 공부하기로 했다. 여러 책을 찾아보다가, '엘라스틱서치 실무 가이드'라는 책을 기반으로 공부하기로 했다. https://product.kyobobook.co.kr/detail/S000001766375 엘라스틱서치 실무 가이드 | 권택환 - 교보문고 엘라스틱서치 실무 가이드 | 이 책은 오픈소스 검색엔진의 대표 주자인 엘라스틱서치에 대한 전반적인 내용을 다룬다. 하지만 단순히 엘라스틱서치의 기능을 단편적으로만 설명하고 끝내는 것 product.kyobobook.co.kr (이 책이다) 엘라스틱서치를 설치하기 전에, 검색 시스템에 대한 내용이 있어 정리하기로 했다. 검색 시스템 이해하기 이번 절에서는 검색엔진과 데이터베이스를 비교해본다. 먼저 검색 시스템..