(ElasticSearch) 검색이 어느 샤드에서 수행될지 확인하기

search shards API를 통해 검색 요청이 어느 샤드에서 수행될지 확인할 수 있다.

예)
GET get-together/_search_shards?pretty


GET get-together/_search_shards?pretty&routing=denver

위와같이 routing값이 denver인 녀석만 조회할 경우
특정 샤드에서만 수행하게 된다


이처럼, 한 색이네 두개의 샤드가 존재하고, 라우팅 값으로 denver를 입력한 경우, 샤드 1에서만 검색은 수행되는 것을 알 수 있다.
즉, 검색이 수행되어야 할 대상이 되는 데이터를 절반으로 줄인것이라고 볼 수 있다.

라우팅은 샤드 수가 많은 색인을 다룰 떄 유용하다. 하지만 라우팅이 항상 필요한 것은 아니다. 떄로는 이를 통해 더 효과적으로 확장성을 활용할 수 있다고 생각할 수 있으며 언제나 테스트를 통해 검증해보아야 한다.


댓글

이 블로그의 인기 게시물

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬

(18장) WebSocekt과 STOMP를 사용하여 메시징하기