일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- 설치에러
- Es
- CS지식
- ETL
- ES 인덱싱
- C++
- SQL #코딩테스트 #IT
- sklearn
- 기초지식
- 코딩테스트 #C++
- MySQL
- Elastic Stack
- SQL
- CS지식의정석
- Elasticsearch #
- elasticsearch #analyzer #nori #ngram
- 코딩테스트
- ILM
- 프로그래머스
- SearchAPI
- elasticsearch
- import에러
- Spark
- groupby
- Trino
- 설치방법
- Python
- 설치
- query
- Today
- Total
목록ETL/Elasticsearch (7)
PONI's 좋은 개발자

1. doc 업데이트 수정하고자 하는 doc을 지정하여 업데이트 doc의 특정 필드를 지정하여 업데이트 가능 1) 일반 필드 post emp/_update/1234 { "doc": { "ath_cd": [ "R01", "R02" ], "ath_nm": "관리자,직원" } } 2) nested 필드 post emp/_update/1234 { "doc": { "nested_regi": [ { "regi_yn": "Y", "regi_pooltypeid": "P02" } ] } } 2. 조건대상 업데이트 - script 절에서 변경 대상, 변경전 값, 변경후 값 입력 get emp/_search { "script": { "source": "for (int i = 0; i < ctx._source.nested_r..

인덱스 수명 주기 관리(ILM) Hot-Warm-Cold 아이텍처는 로깅 또는 메트릭과 같은 시계열 데이터에 일반적으로 사용됩니다. Hot, Warm, Cold 및 Delete 4단계를 정의합니다. ILM 설정 예시) put /_ilm/policy/test_policy { "policy": { "phases": { "hot": { "actions": { "rollover": { "max_size": "5GB", "max_docs": "10000", "max_age": "30d" }, "set"priority": { "priority": 50 } } }, "warm": { "min_age": "7d", "actions": { "forcemerge": { "max_num_segments": 1 }, "shr..

1. 날짜 조건 검색(range) 특정 기간을 설정하여 데이터 수를 확인할때에 사용 rang 함수를 사용하여 기간 설정 lt : 미만 lte : 이하 gt : 초과 gte : 이상 get emp/_count { "query": { "range": { "send_dt": { "gte": "2023-09-10 14:00:00", "lte": "2023-09-12 14:00:00" } } } } 2. 날짜집계 검색 - aggs 으로 집계 설정 - range_aggs - date_range 날짜 집계 설정 - 기간설정은 from - to 로 설정 get emp/_search { "size": 0, "aggs": { "range_aggs": { "date_range": { "field": "send_dt", "r..

1. match 검색 { "query": { "bool": { "must": [ { "match": { "emp_no": "123456" } }, { "nested": { "path": "nested_A", "query": { "bool": { "must" [ { "match": { "nested_A.use_yn": "Y" } } ], "must_not": [ { "match": { "nested_A.str_dt": "99991231" } } ] } } } } ] } } } 2. inner_hit 검색 위 검색의 결과에는 nested_A 필드에서 검색결과에 match 된 documents 만 보기가 어렵습니다. 이런 경우 inner hits 옵션을 사용하여 원하는 조건에 해당하는 documents 만 조..

📋Analyzer Elasticsearch는 색인(indexing)할 때 입력된 데이터는 term 으로 추출하기 위한 과정을 거치는데 이 과정을 Analyzer 라고 합니다. Analyzer 는 하나의 Tokenizer 와 0 개 이상의 Token Filter 로 구성되어 있습니다. Tokenizer 는 입력된 데이터를 토큰으로 분리하는 작업을 하고 Token Filter 는 Tokenizer 로 분리된 토큰들에 필터를 적용하는 역할을 합니다. 이렇게 Tokenizer 와 Token Filter 과정을 거치면 검색을 위한 term이 추출됩니다. Analyzer 는 하나의 Tokenizer 와 다수의 Filter 로 구성하고, Filter 사용을 하지 않더라도 Tokenizer 는 반드시 선언이 되어야 합..

📋Search API _serach는 검색 작업을 하겠다는 행동을 의미합니다. 그리고 어떻게 검색을 할 것인지에 대한 조건( 쿼리 )들을 명시를 해줘야 원하는 정보들을 얻을 수 있습니다. 엘라스틱서치에서 검색은 인덱스 또는 타입 단위로 수행됩니다. 검색은 타입, 인덱스, 그리고 여러 개의 인덱스를 묶어서 멀티 인덱스 범위로 검색할 수 있습니다. 여러 인덱스를 묶어서 처리하는 엘라스틱서치의 특징을 멀티 테넌시(Multi Tenancy)라고 합니다. 도큐먼트는 그 자체가 1개의 최소 데이터 단위이므로 도큐먼트 단위로 검색한다는 것은 성립되지 않습니다. 조건 방법은 2가지가 있습니다. URL에 파라미터를 넘기는 방법 ( URI Search ) json 파일에 쿼리를 작성하여 POST 방식으로 넘기는 방법 ( ..

📋Elasticsearch Elasticsearch는 Lucene 이라는 검색 라이브러리를 기반으로 Elastic Stack의 중심에 있는 인덱싱, 분산 검색 및 분석 엔진입니다. 구조화되거나(정형) 구조화되지 않은(비정형) 텍스트, 숫자 데이터 또는 자리 공간 데이터에 관계없이 Elasticsearch는 빠른 검색을 지원하는 방식으로 효율적으로 저장하고 색을을 생성할 수 있습니다. 단순한 데이터 검색을 넘어 정보를 집계하여 데이터의 추세와 패턴을 발견할 수 있습니다. 데이터 및 쿼리 볼륨이 증가함에 따라 Elasticsearch의 분산 특성으로 인해 배포가 원할하게 확장 될 수 있습니다. 📌Elastic Stack Elasticsearch를 중심으로 한 Stack으로 Logstash, Kibana, B..