일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 차트
- query
- Kafka
- aggregation
- token filter test
- matplotlib
- license delete
- MySQL
- 900gle
- zip 파일 암호화
- API
- aggs
- Elasticsearch
- plugin
- flask
- licence delete curl
- TensorFlow
- zip 암호화
- Python
- Java
- docker
- high level client
- 파이썬
- analyzer test
- License
- ELASTIC
- springboot
- Mac
- sort
- Test
- Today
- Total
목록ElasticStack (107)
개발잡부
Elasticsearch의 hot_threads API는 클러스터 내에서 CPU가 높게 사용되는 스레드 정보를 제공하는 엔드포인트입니다. 이를 통해 어떤 작업이 CPU를 많이 사용하고 있는지를 식별하고 성능 이슈를 해결할 수 있음 Hot Threads API 사용 방법: cURL을 사용한 기본 사용법 curl -X GET "localhost:9200/_nodes/hot_threads?pretty" 위 명령은 로컬 호스트의 9200번 포트에서 실행 중인 Elasticsearch에 연결하고, 각 노드의 hot threads 정보를 출력. 위 명령은 각 노드에서 상위 5개의 hot threads만 출력합니다. threads 파라미터를 사용하여 출력할 스레드의 수를 조절할 수 있음 curl -X GET "loc..
샤드의 정보를 확인해보고 싶었다. _cat 을 사용 GET /_cat/shards/hyper-item 결과 cat 은 다양한 정보를 제공한다. /_cat/shards /_cat/shards/{index} /_cat/master /_cat/nodes /_cat/tasks /_cat/indices /_cat/indices/{index} /_cat/segments /_cat/segments/{index} /_cat/count /_cat/count/{index} /_cat/recovery /_cat/recovery/{index} /_cat/health /_cat/pending_tasks /_cat/aliases /_cat/aliases/{alias} /_cat/thread_pool /_cat/thread_poo..
아마도 6 버전인듯한데.. http 통신을 하는 플러그인을 제한 해서 head 를 설치를 못하고 chrome 브라우저 앱으로 사용했던 것 같다. 일단 head 란 뭐냐.. elasticsearch 필수 플러그인으로 활약하던 과거의 영광이 있던 플러그인이지만. .. 지금은 개발자들이 잘 안쓰는듯.. 좀 허접하게 생기긴했으나. 직관적으로 노드, 샤드 및 클러스터 상태를 확인할 수 있어서 난 아직도 사용 중 설치하러 가보자. 구글검색페이지 우측 상단에 점 9개짜리 버튼을 눌러보면 크롬 웹스토어 라는것이 있다. 접속하면 이런 화면이 나오는데 우측 상단 검색창에 elasticsearch 라고 검색해보자 검색결과 별점은 낮지만 최상단에 있는 Multi Elasticsearch Head 가 있다. Multi ? 내가..
전체 클러스터 재시작 및 순차적 재시작 전체 클러스터 다시 시작 또는 롤링 다시 시작을 수행하려는 상황이 있을 수 있습니다 . 전체 클러스터 재시작 의 경우 클러스터의 모든 노드를 종료하고 다시 시작하는 반면 , 롤링 재시작 의 경우 한 번에 하나의 노드만 종료하므로 서비스가 중단되지 않습니다. 전체 클러스터 다시 시작 1. 샤드 할당을 비활성화합니다. Disable shard allocation. 노드를 종료하면 할당 프로세스는 index.unassigned.node_left.delayed_timeout해당 노드의 샤드를 클러스터의 다른 노드에 복제하기 시작하기 전에(기본적으로 1분) 기다립니다. 이 작업에는 많은 I/O가 포함될 수 있습니다. 노드가 곧 다시 시작될 예정이므로 이 I/O는 필요하지 않..
normalizer - keyword 필드는 애널라이저를 사용하지 않는 대신 노멀라이저(normalizer) 의 적용이 가능 - 노멀라이저는 애널라이저와 유사하게 settings 에서 정의하며 토크나이저는 적용할 수 없고 캐릭터 필터와 토큰 필터만 적용해서 사용이 가능함 실무 적용 케이스 요구사항 대소문자 구분 없이 검색 가능 띄어쓰기 상관없이 검색가능 대소문자, 띄어쓰기 상관없이 exact 매칭 테스트 ) normalizer 가 세팅된 index 생성 searchWord 필드에 doo_normalizer 맵핑 PUT doocoo { "settings": { "analysis": { "normalizer": { "doo_normalizer": { "type": "custom", "char_filter":..
빠른 요약 multi_match 쿼리 구조는 analyzer 의 영향을 받는다 쿼리 유형 multi_match 쿼리가 내부적으로 실행되는 방식은 다음과 같이 설정할 수 있는 매개변수에 multi_match따라 다릅니다 best_fields ( 기본값 ) 모든 필드와 일치하지만 _score가장 적합한 필드의 문서를 사용하는 문서를 찾습니다. most_fields 모든 필드와 일치하는 문서를 찾아 _score각 필드의 문서를 결합합니다. cross_fields analyzer필드를 하나의 큰 필드인 것처럼 동일하게 처리합니다 . 모든 필드 에서 각 단어를 찾습니다 phrase match_phrase각 필드에 대해 쿼리를 실행 하고 _score 가장 적합한 필드를 사용합니다 phrase_prefix match..
페이지 캐시 - 쿼리에서 실제로 읽은 이 데이터의 양에 관계없이 데이터를 캐시 페이지 캐시의 기본 개념은 디스크에서 데이터를 읽은 후 사용 가능한 메모리에 데이터를 넣는 것 다음 읽기는 메모리에서 반환되고 데이터를 가져오는 데 디스크 탐색이 필요 없음 샤드레벨 요청캐시 - 유사한 쿼리를 사용할 때 데이터를 캐시 집계로만 구성된 검색 응답을 캐싱 구성 요소는 IndicesRequestCache 클래스 - 이 메서드는 쿼리 단계를 실행할 때 SearchService 내에서 사용 이 캐시는 기본적으로 활성화되어 있고, 총 힙의 최대 1%를 차지 요청별 구성 -요청 매개 변수를 통해 캐시를 활성화 결과를 반환하지 않는 검색 요청에 대해 활성 확인 GET /_nodes/stats/indices/request_ca..
searchTagList 의 수가 큰 shipMethod 를 구하는 쿼리 라고 하는데 실행해보면 shipMethod 의 cadinality 의 DESC 로 정렬되고 해당 집계에 대한 count 이다. 검증 안댐 GET /_search { "size": 0, "aggs": { "SEARCH_KEYWORD": { "terms": { "field": "shipMethod", "size": 10, "order": { "count": "desc" } }, "aggs": { "count": { "cardinality": { "field": "searchTagList" } } } } } } 쿼리 결과 { "took" : 15, "timed_out" : false, "_shards" : { "total" : 3, "s..
GET home-search-query-log/_search { "size": 1, "query": { "bool": { "filter": [ { "range": { "query_log.created_date_time": { "gte": "2023-10-29T22:40:00", "lt": "2023-10-29T22:45:00" } } }, { "term": { "query_log.result_count": 0 } } ] } }, "aggs": { "cardinality": { "cardinality": { "field": "query_log.input_query.keyword" } } }, "track_total_hits": true } { "took" : 18, "timed_out" : false, "..
검색 결과 리스팅은 Query Cache에, 검색 결과에 대한 집계 는 Request Cache 에 저장 된다 그렇다면 둘다 확인해서 multi_match + aggs 의 결과가 어디에 캐싱된건지 확인 GET /location-index/_stats/query_cache?human { "_shards": { "total": 2, "successful": 2, "failed": 0 }, "_all": { "primaries": { "query_cache": { "memory_size": "0b", "memory_size_in_bytes": 0, "total_count": 0, "hit_count": 0, "miss_count": 0, "cache_size": 0, "cache_count": 0, "evic..