색인 앨리어스는 색인에 대한 앨리어스(별명) 치고는 유용한 기능이 있다.
단순히 앨리어스를 주는 것 뿐 아니라.
필터(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
'Elasticsearch' 카테고리의 다른 글
hit (0) | 2015.05.31 |
---|---|
[elasticsearch] 낙관적 동시 제어 (optimistic concurrency control) (0) | 2015.05.29 |
[elasticsearch] failed to put mappings on indices (0) | 2015.05.27 |
[elasticsearch] flush, refresh, optimization (0) | 2015.05.26 |
[elasticsearch]에서 인덱스 타입 매핑 변경 및 동시에 여러 매핑 요청하기 (0) | 2015.05.23 |