색인 앨리어스는 색인에 대한 앨리어스(별명) 치고는 유용한 기능이 있다.



단순히 앨리어스를 주는 것 뿐 아니라.
필터(filter)와 라우팅(routing) 매개변수를 정의하기 위해 사용될 수 있다.


$ curl -XPOST 'http://localhost:9200/myindex/_aliases/alias1' -d '
{
  "filter" : {
  "term" : { "user" : "user_1" }
  },
  "search_routing" : “1,2,3",
  "index_routing" : "2"
}'



필터는 질의에 데이터를 걸리내기 위해 자동으로 추가될 수 있으며,
앨리어스를 통한 라우팅은 검색 작업(search)과 색인 작업(index)동안 어느 샤드로 요청할지를 미리 설정할 수 있다.

위의 예제에서 보듯이 search_routing은 여러 개의 값을 가진 라우팅 키를, index_routing은 단 하나의 라우팅 값을 가질 수 있다. 즉, 내가 어느 샤드에 어떤 정보가 저장되어 있는지 안다면 굉장히 효율적으로 성능을 향상시킬 수 있다.

(일래스틱서치는 특정 샤드를 라우팅 하는 매개변수를 전달하지 않으면 내부적으로 모든 샤드로 확산하여 요청하고, 그 결과를 수집하기 때문에 성능상 취약한 부분이 존재하기 때문에.. 샤드 값을 잘 알수만 있다면 성능 향상의 요인이 될 수 있다.)



출처 : 

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html

Posted by '김용환'
,