索引别名的使用
Posted glblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了索引别名的使用相关的知识,希望对你有一定的参考价值。
1.官网
2.添加索引,索引名称:person,索引别名:aliastest
POST /_aliases { "actions" : [ { "add" : { "index" : "person", "alias" : "aliastest" } } ] }
原理:API都会自动将别名转换为实际的索引名称,别名还可以映射到多个索引(关系1对多),别名不能与索引具有相同的名称。
3.索引别名查询:
GET /aliastest/_search
4.删除索引别名:
POST /_aliases { "actions" : [ { "remove" : { "index" : "person", "alias" : "aliastest" } } ] }
5.重命名别名
原理:重命名别名是一个简单的删除然后添加操作
POST /_aliases { "actions" : [ { "remove" : { "index" : "person3", "alias" : "aliastest" } }, { "add" : { "index" : "person3", "alias" : "aliasrenametest" } } ] }
GET /aliasrenametest/_search
6.别名添加多个索引,为索引 person,person3,建立alias1别名
method1:
POST /_aliases { "actions" : [ { "add" : { "index" : "person", "alias" : "alias1" } }, { "add" : { "index" : "person3", "alias" : "alias1" } } ] }
GET /alias1/_search
method2:
POST /_aliases { "actions" : [ { "add" : { "indices" : ["person", "person3"], "alias" : "alias1" } } ] }
method3:使用通配符
POST /_aliases { "actions" : [ { "add" : { "index" : "person*", "alias" : "all_test_indices" } } ] }
7.使用别名创建视图
原理:使用查询DSL定义筛选器,并将其应用于所有搜索、计数、查询删除等类似的操作。
POST /_aliases { "actions" : [ { "add" : { "index" : "person", "alias" : "alias2", "filter" : { "term" : { "name" : "zs" } } } } ] }
8.路由和别名进行关联
POST /_aliases { "actions" : [ { "add" : { "index" : "person", "alias" : "aliasrountingtest", "routing" : "1" } } ] }
搜索和索引操作指定不同的路由值:
POST /_aliases { "actions" : [ { "add" : { "index" : "person", "alias" : "aliasrountingtest", "search_routing" : "1,2", "index_routing" : "2" } } ] }
按照以下搜索:routing将会按照search_routing和index_routing的交集2进行路由:
GET /alias2/_search?q=user:kimchy&routing=2,3
9.写操作的索引别名
索引别名只能指定一个索引为可写操作,指定多个将不允许
POST /_aliases { "actions" : [ { "add" : { "index" : "person", "alias" : "alias1" , "is_write_index" : true} }, { "add" : { "index" : "person3", "alias" : "alias1", "is_write_index" : false}}
]
}
PUT /alias1/doc/10/ { "name":"zs" }
10.交换索引的写操作,修改 is_write_index的属性值
POST /_aliases { "actions" : [ { "add" : { "index" : "person", "alias" : "alias1" , "is_write_index" : false} }, { "add" : { "index" : "person3", "alias" : "alias1", "is_write_index" : true } } ] }
以上是关于索引别名的使用的主要内容,如果未能解决你的问题,请参考以下文章