我知道我可以通过以下方式为现有索引添加别名:
POST /_aliases
{
"actions" : [
{ "add" : { "index" : "my-index-000001", "alias" : "alias1" } }
]
}
或(结果似乎相等)
PUT /my-index-000001/_alias/alias1
但是还可以通过模式创建别名,以便新创建的索引已经带有别名吗?
所以当我这样做时:
POST /_aliases
{
"actions" : [
{ "add" : { "index" : "my-index-*", "alias" : "alias1" } }
]
}
将来创建的所有匹配模式 my-index- *的索引都将自动带有别名 alias1 ?
答案 0 :(得分:1)
是的,您可以使用index template来做到这一点:
PUT _index_template/my_template
{
"index_patterns": ["my-index-*"],
"template": {
"settings": {
"number_of_shards": 1
},
"aliases": {
"alias1": { }
},
"mappings": {
"properties": {
...
}
}
}
}
请注意,如果您使用的是before 7.8版,则语法略有不同:
PUT _template/my_template
{
"index_patterns": ["my-index-*"],
"settings": {
"number_of_shards": 1
},
"aliases": {
"alias1": { }
},
"mappings": {
"properties": {
...
}
}
}
答案 1 :(得分:0)
是的,有可能。您可以看到此link。您需要定义一个索引模板。
PUT _template/template_1
{
"index_patterns" : ["te*"],
"settings" : {
"number_of_shards" : 1
},
"aliases" : {
"alias1" : {}
}
}