索引->别名/是否存在/是否类型存在
Indices Exists /索引是否存在
用来检查如果 index ( indics )是否存在。例如:
curl -XHEAD 'localhost:9200/twitter?pretty'
HTTP状态码表示index存在与否。404意味着它不存在,200即存在。
Types Exists/类型是否存在
用于检查是否一个类型存在于索引。
HEAD twitter/_mapping/tweet
HTTP状态码表示type存在与否。404意味着它不存在,200即存在。
Index Aliases /索引别名
这是一个示例将别名alias1
指定索引test1
:
POST /_aliases
{
"actions" : [
{ "add" : { "index" : "test1", "alias" : "alias1" } }
]
}
这是删除相同的别名:
POST /_aliases
{
"actions" : [
{ "remove" : { "index" : "test1", "alias" : "alias1" } }
]
}
重命名一个别名是一个简单的删除然后添加操作在同一个API。这个操作是原子的,不需要担心短时间内的别名不指向索引:
POST /_aliases
{
"actions" : [
{ "remove" : { "index" : "test1", "alias" : "alias1" } },
{ "add" : { "index" : "test2", "alias" : "alias1" } }
]
}
将别名指向一个以上的索引只是几个添加操作:
POST /_aliases
{
"actions" : [
{ "add" : { "index" : "test1", "alias" : "alias1" } },
{ "add" : { "index" : "test2", "alias" : "alias1" } }
]
}
可以指定多个索引的操作,采用索引数组的语法:
POST /_aliases
{
"actions" : [
{ "add" : { "indices" : ["test1", "test2"], "alias" : "alias1" } }
]
}
在一个动作指定多个别名,相应的别名数组语法也存在。
在上面的示例中,正则匹配模式还可以用于别名关联到多个索引共享一个共同的名字:
POST /_aliases
{
"actions" : [
{ "add" : { "index" : "test*", "alias" : "all_test_indices" } }
]
}
更多复杂操作请看官方文档:Index Aliases