elasticsearch中的API可以接受一个对应于某个索引的索引名,也可以接受多个索引。
索引别名API允许使用一个名字来作为一个索引的别名,所有的API会将别名转化成最终的索引名。
一个也可以被映射到多于一个的索引上,当指定这个别名的时候,别名将会自动地扩展到别名的所有的索引上。
一个别名也可以与一个过滤器建立关联,这个过滤器在搜索和路由值的时候自动被应用。
将别名alias1与索引test1建立关联:
curl -XPOST 'http://localhost:9200/_aliases' -d
{
"actions": [
{"add": {"index": "test1", "alias": "alias1"}}
]
}
移除别名:
curl -XPOST 'http://localhost:9200/_aliases' -d
{
"actions": [
{"remove": {"index": "test1", "alias": "alias1"}}
]
}
重命名一个别名就是一个简单的remove然后add的操作,也是使用相同的API。这个操作是原子的。
重命名:
curl -XPOST 'http://localhost:9200/_aliases' -d '
{
"actions": [
{"remove": {"index": "test1", "alias": "alias1"}},
{"add": {"index":"test1", "alias": "alias2"}}
]
}'
将一个别名同多个的索引关联起来:
curl -XPOST 'http://localhost:9200/_aliases' -d '
{
"actions": [
{"add": {"index": "test1", "alias":"alias1"}},
{"add": {"index": "test2", "alias":"alias1"}}
]
}'
向一个指向多个索引的别名去索引数据会引发一个错误。
索引别名API允许使用一个名字来作为一个索引的别名,所有的API会将别名转化成最终的索引名。
一个也可以被映射到多于一个的索引上,当指定这个别名的时候,别名将会自动地扩展到别名的所有的索引上。
一个别名也可以与一个过滤器建立关联,这个过滤器在搜索和路由值的时候自动被应用。
将别名alias1与索引test1建立关联:
curl -XPOST 'http://localhost:9200/_aliases' -d
{
"actions": [
{"add": {"index": "test1", "alias": "alias1"}}
]
}
移除别名:
curl -XPOST 'http://localhost:9200/_aliases' -d
{
"actions": [
{"remove": {"index": "test1", "alias": "alias1"}}
]
}
重命名一个别名就是一个简单的remove然后add的操作,也是使用相同的API。这个操作是原子的。
重命名:
curl -XPOST 'http://localhost:9200/_aliases' -d '
{
"actions": [
{"remove": {"index": "test1", "alias": "alias1"}},
{"add": {"index":"test1", "alias": "alias2"}}
]
}'
将一个别名同多个的索引关联起来:
curl -XPOST 'http://localhost:9200/_aliases' -d '
{
"actions": [
{"add": {"index": "test1", "alias":"alias1"}},
{"add": {"index": "test2", "alias":"alias1"}}
]
}'
向一个指向多个索引的别名去索引数据会引发一个错误。