일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Elasticsearch
- 오버로딩
- git
- Overloading
- dlfks
- 형상관리
- elastic certified engineer
- 상속
- overriding
- java
- 버전관리
- 오버라이딩
- Today
- Total
목록ELK/elasticsearch (15)
엔지니어 블로그
# elasticsearch ILM hot-warm-cold 아키텍쳐 구현 ## hot-warm-cold node elasticsearch는 shard 내 data의 중요도,사용 빈도에 따라 hot,warm,cold 으로 정의된 node에 각각 할당할 수 있다. 각각의 node는 아래 그림처럼 구성될 수 있으며 최소 2개의 node만 있어도 구현 가능하다. 각 node는 hot-warm-cold 순으로 중요도가 높기 때문에 서로 다른 사양으로 구성하게 된다. (일반적으로 hot node는 더 많은 CPU 리소스와 빠른 IO가 필요하고, warm,cold node는 더 많은 disk 공간이 필요하지만 CPU 리소스는 적더오 되고 IO는 더 느려도 된다.) ## ILM을 사용해 how-warm-cold 아키..
elasticsearch nori-plugin 실험 1. 문제 사용자 사전 구성시 복합어가 많았음. 사용자 사전에 명시된 단어들은 우선순위가 높아서 해당 단어가 token으로 추출되기 때문에 어떻게 구성하냐에 따라 token이 상이할 것으로 예상됨. 1. nori에서 복합어의 tokenize 단위를 결정하기 위한 decompound_mode 옵션을 조정 2. 사용자 사전에서 복합어와 단순명사의 포함을 조절2. 시도 조건 1. nori_pos 에 stop tag를 사용하여 명사만 tokenize 하도록 설정 1. 복합어를 포함하고 decompound_mode 조정 #사전 list 강남역 삼성전자 부서장 보물찾기 대학수학능력시험 세종문화회관 서울대학교 북핵실험 한미동맹 공백문자 PUT test_nori { ..
Elasticsearch Enrich es는 다양한 데이터 소스의 데이터를 indexing해서 빠른 검색과 분석이 가능하다. 데이터 엔리치먼트 es 7.5 버전 이상부터는 기존 index의 데이터를 새로 인덱싱 되는 index에 원하는 대로 추가하는 작업이 Enrich Processer를 통해 가능해졌다. 다음과 같은 작업이 손쉽게 가능해졌다. ▶ IP address를 통해서 연관된 디바이스나 서비스 정보들을 추가하기 ▶ 상품 주문 데이터의 Product ID를 통해서 상세 제품 정보 데이터를 추가하기 ▶ 이메일 주소를 통해서 상세 컨택 포인트 정보를 추가하기 ▶ GPS의 정보를 통해서 우편 번호 정보를 추가하기 등등 Enrich Processor의 동작 원리 es의 데이터 노드는 ingest 노드 이기..
elasticsearch에서 query로 search를 실행할 때 minimum should match가 적용되는 것이 이해가 되질 않아서 공식문서를 보고 정리해 본 내용이다. Integer 3 integer 로 지정하면 해당 숫자 만큼의 검색어가 일치해는 document만 반환한다. Negative integer -2 총 검색어의 수에서 지정한 수 만큼 뺀 갯수를 최소 필수 갯수로 지정합니다. Percentage 75% 총 검색어에서 지정한 %의 갯수 이상 만큼 일치하는 결과를 반환 Negative percentage -25% 총 검색어에서 지정한 %의 갯수 이상 만큼 일치하는 결과를 반환 Combination 3
index가 서비스에 사용되고 있을 때 일반적인 방법으로 reindex를 실행하면 오류가 발생한다. 기존 index의 document가 10만개가 넘어가기 때문에 너무 큰 나머지 timeout error가 발생 #news index의 내용을 dict_test index로 reindex POST _reindex { "source": { "index": "news" }, "dest": { "index": "dict_test" } } #오류 코드 {"statusCode":502,"error":"Bad Gateway","message":"Client request timeout"} 이때 API에 옵션을 추가해주면 비동기로 처리가 가능하다. POST _reindex?wait_for_completion=false ..
동의어 사전을 지정해두고 highlight 설정을 하면 검색할 때 highlight가 해당 단어가 아닌 관계없는 바로 뒷 단어에 가서 붙는다. 변경되면 curl -XPOST 'localhost:9200/synonyms_test/_reload_search_analyzers?pretty' 사용해서 reload 가능
Elasticsearch CRUD 기본적인 내용 Create - PUT,POST 데이터를 입력 할 때는 PUT 메서드를 사용한다. 아래의 예는 이름이 my_index인 Index에 document id가 1일 데이터를 입력하는 내용이다. PUT my_index/_doc/1 { "name":"ankiyong", "text":"HELLO!!" } 동일한 URL에 다른 내용을 다시 입력하게 되면 기존의 document는 삭제되고 새로운 내용으로 덮어씌워지게 된다. 즉 PUT는 Update기능도 같이 할 수 있다. Read - GET 데이터를 조회할 때는 GET 메서드를 사용한다. GET my_index/_doc/1 Update - POST POST 메서드는 PUT와 매우 유사하게 데이터 입력에 사용이 가능하다..