您的位置:首页 > 其它

es中的别名

2016-06-03 16:33 113 查看
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"}}

    ]

}'

    

向一个指向多个索引的别名去索引数据会引发一个错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: