[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 과 비슷한 목적으로 사용이 가능 하다고 이해 하면 쉽다.