1 别名简介
索引 别名 就像一个快捷方式或软连接,可以指向一个或多个索引,也可以给任何一个需要索引名的API来使用,索引别名不能和已有索引同名。别名 带给我们极大的灵活性,允许我们做下面这些:
在运行的集群中可以无缝的从一个索引切换到另一个索引(即索引迁移),
给多个索引分组 (例如, last_three_months),
给索引的一个子集创建 视图。
实际业务中,常创建rollover类型的索引,每次对索引rollover的时候就会指向指定的别名,实际业务就通过logstash或filebeat向别名中写入数据。
2 创建别名
2.1 创建索引时候创建别名
1 先创建索引,再通过_alias添加别名
PUT /ik001
{}
PUT /ik001/_alias/ik001_write
此类创建别名,如果需要对某些日志按照字段过滤,直接添加filter和term过滤即可,例如下面通过project字段,对xyj项目日志就行过滤
put /syslog-2020.11.13-000624/_alias/xyj_syslog-2020.11.13-000624
{
"filter": {"term": {"project": "xyj"}}
}
2 直接在创建索引时候,通过其设置aliases来添加别名
PUT /ik001
{
"aliases": {
"ik001_write": {}
}
}
2.2 为已有索引添加别名
POST /_aliases
{
"actions" : [
{ "add" : { "index" : "ik001", "alias" : "ik001_write" } }
]
}
3 查看索引
查看单个索引的别名
GET ik001/_alias
查看所有的别名
GET _cat/aliases?v
GET /_alias
查看指定别名下的索引
查看 filebeat-7.8.0 下的所有索引
GET /_alias/filebeat-7.8.0
4 删除别名
4.1 直接删除别名
DELETE /ik001/_alias/ik001_write
4.2 使用actions删除别名
POST /_aliases
{
"actions" : [
{ "remove" : { "index" : "ik001", "alias" : "ik001_write" } }
]
}
5 说明
参考文档:
indices-add-alias
indices-aliases
indices-delete-alias
测试版本为es 7.2.1