본문 바로가기

프로그래밍/Elastic Stack

(10)
[ElasticSearch] Nori 를 사용한 형태소 분석 1. nori 란? - Elastic에서 개발한 한국어 형태소 분석기 - 사전은 기본으로 'mecab-ko-dic' 을 사용 - 6.4.x 에서 추가. 2. plugin설치 1) 설치하기.bin/elasticsearch-plugin install analysis-nori 2) 참고)삭제 명령어.bin/elasticsearch-plugin remove analysis-nori 3. 기본 analyze 호출 - 호출curl -X POST http://localhost:9200/_analyze -d '{ "analyzer": "nori", "text": "노리 테스트 입니다."}' - 결과{ "tokens": [ { "token": "노리", "start_offset": 0, "end_offset": 2, "..
[LOGSTASH] 04. Logstash Plugin 01 1. Twitter 1) input 소스input { twitter { consumer_key => "CONSUMER_KEY_GOES_HERE" consumer_secret => "CONSUMER_SECRET_GOES_HERE" oauth_token => "ACCESS_TOKEN_GOES_HERE" oauth_token_secret => "ACCESS_TOKEN_SECRET_GOES_HERE" keywords => ["test","sample"] full_tweet => true }} 2) 참고링크 - https://www.elastic.co/guide/en/logstash/current/plugins-inputs-twitter.html 2. Json_Line 1) 설치bin/logstash-plugin..
[LOGSTASH] 03. Logstash Filter mutate 1. Filter Mutate?? - 데이터 변환 2. 기능 - remove_field : 해당 필드 값들을 제거한다. - rename : 필드명을 변경한다. - 기타 여러 기능들이 있다. 아래 참고링크를 참고하면 좋다. 3. 예제filter {mutate {remove_field => ["@timestamp","@version"]rename => {"TEST_VALUE" => "testValue"}}} * 참고 링크 - https://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html#plugins-filters-mutate-rename
[LOGSTASH] 02. Logstash Mysql input 사용하기 1. conf파일 기본 형태#데이터를 가지고옴.input {} #데이터를 가공함.filter {} #데이터를 출력함.output {} 2. mysql에서 데이터 가져와서 파일로 생성해보기. 1) mysql-connector를 직접 다운받아, path를 지정해줘야함.(1) connector 다운로드wget 'https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz' - 'https://dev.mysql.com/downloads/connector/j/' 링크를 통해서 직접 다운로드 받을 수도 있다. (2) 압축풀기tar -xvf ./mysql-connector-java-5.1.46.tar.gz (3) 파일이동 - 필요..
[LOGSTASH] 01. Logstash 설치 및 기본 설명 1. Logstash란? - 입력(input), 필터(filter), 출력(output) 3단계로 구성되어 있고, 다양한 플러그인이 있어 여러 상황에서 사용하기 편함. - ex) 로그수집 등 2. Logstash 설치 1) Centos 7기준(1) java 설치 여부 확인java -version - 아래와 같이 나오면 설치되어 있는 것이고, 아닐 경우 jdk 설치를 먼저 진행하세요.java version "1.8.0_151"Java(TM) SE Runtime Environment (build 1.8.0_151-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode) (2) Logstash 다운로드 - wget으로 받아야하므로, wget 설..
[ElasticSearch] Rest API 1. 통계정보curl http://localhost:9200/_stats?v&pretty=ture 2. index 정보 - 전체 index 정보curl http://localhost:9200/_cat/indices?v&pretty=true - {검색}으로 시작하는 index 정보curl http://localhost:9200/_cat/indices/{검색}*?v&pretty - 전체 index 안에 type 정보curl http://localhost:9200/_all/_mapping?pretty=true - 해당 index 안에 type 정보curl http://localhost:9200/{INDEX_NAME}/_mapping?pretty=true 3. Index 관리 - index 삭제curl -XDE..
[ElasticSearch] not_analyzed and wildcard query 1. not_analyzed- contain 검색을 할거다. 2. wildcard - '*', '?'로 매칭할 수 있음. - '*' 은 SQL 에서 '%' 와 비슷하다.(all characters match) - SQL 예시 : SELECT * FROM {TABLE_NAME} where {컬럼} like '%{검색할 단어}%' - '?' 는 single character match - 주의사항 : '*', '?'를 첫 시작으로 사용하면 안됨. - 샘플curl -XPOST http://localhost:9200/{테스트Index}/{테스트Type}/_search?pertty -d '{"query" : {"wildcard" : {"{테스트 Field}": "*얍*"}}} * 참고- https://www.el..
[ElasticeSearch] Index Create(Settings, Mappings) 1. Index Create$ curl -XPUT "http://localhost:9200/{인덱스 네임}?pretty=true" -d' '{ "settings": { {설정 옵션(아래참고)} }, "mappings": { {설정 옵션(아래참고)} }}' 1) settings (1) number_of_shards : Shard 개수(2) number_of_replicas : Replica 개수(3) index.refresh_interval : Index 변경 후 검색 결과에 반영되는 시간 설정(4) analysis :analyzer와 tokenizer 설정(5) store : 저장 옵션 2) mappings(1) field type (2.x) - string, number, boolean, date - ..