Elasticsearch模块功能之-索引别名(Index aliases )

Elasticsearch模块功能之-索引别名(Index aliases )

Elasticsearch的API支持给索引起别名,有了别名之后可以像使用索引一样使用它。但不只是这些,一个别名可以映射多个索引,所以在需要经常指定多个索引查询情况下,大可将所查询的索引起一个别名来查。别名也可以将索引查询的过滤条件包含在内,使用别名查询时可以查询索引的一个子集。

创建一个别名:

curl -XPOST 'http://localhost:9200/_aliases'-d '{    "actions" : [        { "add" : { "index" : "test1","alias" : "alias1" } }    ]}'

上述将创建一个指向索引test1的别名alias1。

删除别名:

curl -XPOST 'http://localhost:9200/_aliases'-d '{    "actions" : [        { "remove" : { "index" : "test1","alias" : "alias1" } }    ]}'

上述将删除别名alias1.


重命名别名:

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" } }    ]}'

上述创建的别名alias1映射索引test1和索引test2。


创建索引在索引创建期间:

curl -XPUT localhost:9200/logs_20142801 -d '{    "aliases" : {        "current_day" : {},        "2014" : {            "filter" : {                "term" : {"year": 2014 }            }        }    }}'

查看索引是所有别名:

curl -XGET 'localhost:9200/users/_alias/*<span > </span>

查看具体别名:

curl -XGET 'localhost:9200/_alias/2013'


包含过滤条件的别名:

curl -XPOST 'http://localhost:9200/_aliases' -d '{    "actions" : [        {            "add" : {                 "index" : "test1",                 "alias" : "alias2",                 "filter" : { "term" : { "user" : "kimchy" } }            }        }    ]}'

上述的别名将映射到索引test1使用过滤条件之后的结果,类似数据库的视图。


参考】:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-aliases.html#indices-aliases

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部