전체 글(438)
-
[ELASTICSEARCH] 검색 성능 최적화 하기
1. cache 활용하기 사용자가 요청한 query 결과를 es에서는 일정 부분 메모리에 담은 후 같은 요청이 있을 경우 메모리에 있는 결과를 사용하는 cache 기능을 제공하고 있다. 이를 활용하면 검색 성능 향상에 큰 도움을 줄 수 있다.아래는 es에서 동작하고 있는 cache의 종류에 대하여 설명하였다. 1.1 Node Query Cache filter context에 의해 검색된 결과를 caching 영역에 저장하며, 글자 그대로 해당 node의 cache 영역을 활용한다. filter context는 term, terms 혹은 range 등 analyze를 거치지 않고 단지 문서내에 해당 조건이 맞는지 여부만을 판별하기 위한 query를 말한다. 사용자가 filter context로 query를..
2025.09.01 -
[ELASTICSEARCH] 색인 성능 최적화 하기
이번 글에서는 es 색인을 최적화 할 수 있는 방법에 대해 알아보자. 1. 정적 mapping 사용하기 es는 기본적으로 각 데이터에 대한 mapping 정보를 따로 지정해 주지 않아도 입력으로 들어오는 데이터를 유추해서 mapping 정보를 생성한다. 하지만 이렇게 생성할 경우 불필요한 indexing 데이터를 생성할 수 있고, 성능에도 이슈가 있을 수 있기 때문에 가급적이면 미리 mapping 정보를 생성해 놓는게 더 효율적이다. 아래의 예는 동적으로 mapping 정보가 생성된 es index의 예를 보여준다. $> curl -X GET "http://localhost:9200/test?pretty" -H 'Content-Type: application/json'{ "test" : { ..
2025.08.28 -
[ELASTICSEARCH] search api
es에서는 아래의 명령을 호출해서 해당 index에 검색 요청을 할 수가 있다. SEARCH 아래의 명령은 title field에 test라는 단어가 들어 있는 문서에 대해 검색 요청을 진행했다. $> curl -X GET "localhost:9200/test/_search?q=title:test&pretty" url이 아닌 body 형태로도 명령을 호출할 수 있다. $> curl -X GET "localhost:9200/test/_search?pretty" -H 'Content-Type: application/json' -d'{ "query" : { "term" : { "title" : "test" } }}' SORTING 검색 결과에 대한 sorting도 진행 할 수 있다. $..
2025.08.25 -
[ELASTICSEARCH] es 모니터링하기
es 클러스터 상태 확인하기 $> curl -s "http://localhost:9200/_cat/health?format=json&pretty" timestampAPI를 호출한 시간cluster클러스터 이름status클러스터의 상태green : 정상 상태yellow : 모든 primary shard는 정상적으로 동작하나 일부 혹은 전체 replica shard가 정상 동작하지 않음red : 일부 혹은 전체 primary / replica shard가 정상 동작하지 않음node.total클러스터의 전체 노드 수node.data클러스터 내의 데이터 노드 수shards클러스터 내의 전체 shard 수pri클러스터 내의 primary shard 수relo재배치되고 있는 shard 수. 해당 값이 높은 경우 ..
2025.08.20 -
[ELASTICSEARCH] index api
특정 index의 replica 개수 변경하기 $> curl -X PUT "localhost:9200/test/_settings?pretty" -H 'Content-Type: application/json' -d'{ "index.number_of_replicas": 3}' url의 첫 번째 path에 index 명(여기서는 test)을 넣어 준다. 만약 모든 index를 대상으로 설정하고 싶은 경우에는 _all 지시자를 넣어주자. $> curl -X PUT "localhost:9200/_all/_settings?pretty" -H 'Content-Type: application/json' -d'{ "index.number_of_replicas": 3}' index 색인 갱신 주기 설정 $> c..
2025.08.19 -
[ELASTICSEARCH] version Upgrade와 shard 배치
elasticsearch version upgrade 클러스터로 구성된 es의 버전을 업그레이드 하는 방법으로는 모든 es node를 다 중지한 후 업그레이드 하는 방식과 클러스터로 구성된 node를 하나씩 중지한 후 es 버전 업그레이드 한 후 클러스터에 다시 조인시키는 방법이 있다. 두 번째 방법에 대해 설명하고자 한다. 우선 es 버전 업그레이드를 하기 위해서는 아래의 버전 규칙을 따라야 한다. 5.6 이하 버전인 경우 : es 5.6 버전으로 업그레이드 -> 6.8 버전으로 업그레이드 -> 7.8 버전으로 업그레이드 5.6 이상 6.8 이하인 경우 : 6.8 버전으로 업그레이드 -> 7.8 버전으로 업그레이드6.8 이상 7.8 이하인 경우 : 7.8 버전으로 업그레이드 1. 업그레이드를 하기 전에..
2025.08.14