본문 바로가기

elasticsearch

(9)
[elasticsearch] 특정 조건에 해당하는 document들 일괄 업데이트(update_by_query) elaticsearch에서 특정 조건에 해당하는 document들을 모두 업데이트하고 싶다면 update_by_query를 사용하면 된다. 예제를 통해서 어떻게 하는지 알아보자. 아래 명령어는 Kibana DevTools를 기준으로 작성했다. 1) 먼저 특정 조건에 해당하는 document들 확인 # document field 등 disk 사이즈가 0보다 작은 document들이 있는지 먼저 탐색해본다. GET test-resource/_search { "query": { "range" : { "disk" : { "lt" : 0 } } } } 먼저 _search API를 통해서 disk가 0보다 작은 아이들을 찾는다. disk값이 0보다 작을 수는 없으므로 잘못된 정보다. 이를 일괄 0으로 수정해보자. ..
[elasticsearch] 와일드 카드에 매칭되는 인덱스 리스트 가져오기 Elasticsearch 에서 특정 패턴의 이름을 가진 index 리스트를 가져오고 싶다면 아래와 같이 할 수 있다. #limcode-로 시작하는 모든 인덱스 리스트업하기 GET _cat/indices/limcode-* #limcode가 중간에 들어있는 모든 인덱스 리스트업 하기 GET _cat/indices/*limcode-*
[elasticsearch] [circuit_breaking_exception] [parent] Data too large, data for [<http_request>] 오류 해결법 엘라스틱 서치를 운영하다보면 가끔 아래와 같은 메시지를 마주할 때가 있다. [circuit_breaking_exception] [parent] Data too large, data for [] would be [986822004/941.1mb], which is larger than the limit of [986061209/940.3mb], real usage: [986820872/941.1mb], new bytes reserved: [1132/1.1kb], usages [request=0/0b, fielddata=28905/28.2kb, in_flight_requests=1132/1.1kb, accounting=11596758/11mb], with { bytes_wanted=986822004 & by..
[elasticsearch] 노드별 디스크 사용량 확인 쿼리 엘라스틱서치에서 노드별로 디스크 사용량을 보고 싶다면, 아래 쿼리를 통해서 확인할 수 있다. Elasticsearch Dev Tools에서 입력시 GET _cat/allocation?v Curl 명령어시 curl -XGET 'localhost:9200/_cat/indices?v' 응답 shards disk.indices disk.used disk.avail disk.total disk.percent host ip node 2579 322.2gb 416.6gb 75.4gb 492gb 84 10.17.8.3 10.17.8.3 data-node-3 2488 667.8gb 718.8gb 117.7gb 836.6gb 85 10.17.8.2 10.17.8.2 data-node-1 2488 619.6gb 1tb 16..
[elasticsearch] 시간순서대로 가장 최근 document 가져오는 쿼리 elasticsearch api 쿼리를 통해서 가장 최근 document를 가져오려면 어떻게 할까? 아래 쿼리를 통해서 가장 최근 document를 가져올 수 있다. 아래 예제에서는 @timestamp를 기준으로 가장 최근 데이터를 가져왔지만, 적절한 datetime 포맷의 필드명을 넣어주면 해당 필드 기준으로 가장 최근 데이터를 가져온다. GET 인덱스명/_search { "query": { "match_all": {} }, "size": "1", "sort": [ { "@timestamp": { "order": "desc" } } ] } 만약 여러개를 가져오고 싶으면 size를 조정한다.