[elasticsearch] Indices API - Aliases

Elastic/Elasticsearch 2013. 4. 17. 10:26

본 문서는 개인적인 테스트와 elasticsearch.org 그리고 community 등을 참고해서 작성된 것이며,

정보 교환이 목적입니다.


잘못된 부분에 대해서는 지적 부탁 드립니다.

(예시 코드는 성능 및 보안 검증이 되지 않았습니다.)



[elasticsearch API 리뷰]

원문 링크 : http://www.elasticsearch.org/guide/reference/api/admin-indices-aliases/


[Indices Aliases]

이 API 는 index name 의 별칭을 생성 및 삭제를 할 수 있도록 한다.

하나의 별칭에 여러개의 index name 을 등록 할 수도 있으며 filter 를 통해 같은 index 의 또 다른 view 를 구현 할 수 있다.

관련 예제는 원문에 잘 나와 있기 때문에 Java API 샘플 코드만 살펴 보도록 한다.


[샘플코드 : IndicesAliasesRequestBuilder.java]

clientManager.openClient();                    // singletone 객체를 이용한 connection manager

Client client = clientManager.getClient();

AdminClient admin = client.admin();

ClusterAdminClient cluster = admin.cluster();

IndicesAdminClient indices = admin.indices();


IndicesAliasesRequestBuilder aliases = new IndicesAliasesRequestBuilder(indices);

IndicesAliasesResponse response = aliases.addAlias("blog", "aliases_blog2")

.removeAlias("blog",  "aliases_blog1")

.execute()

.actionGet();


log.debug("{}", response);        // slf4j logger


[Filtered Aliases]

curl -XPOST 'http://localhost:9200/_aliases' -d ' { "actions" : [ { "add" : { "index" : "test1", "alias" : "alias2", "filter" : { "term" : { "user" : "kimchy" } } } } ]

}'

- 이미 위에서 언급 했듯이 RDBMS 에서 사용하는 view table 과 비슷한 목적으로 사용이 가능 하다고 이해 하면 쉽다.

: