同福

Elasticsearch的别名alias的应用技巧【20210621】

介绍

介绍

福哥今天要带着大家学习一下Elasticsearch的别名alias的使用方法。

ES的别名是什么的呢?有什么用途呢?

大家都知道ES的索引的字段结构创建后就无法更改,要想增加字段或者删除字段就需要重新建立一个新的索引,很显然这样做势必要删除当前索引重新建立,这样做服务就会出现终端的情况。

其实我们还可以这样做,建立一个新的索引,向里面填充数据,然后关键时刻来了。我们可以删除当前索引,接着建立新索引的别名为当前索引的名称,这样就实现了快速地重建索引的目的了!

别名

查看全部Alias

可以使用_aliases查看所有别名。

curl http://elasticsearch:9200/_aliases?pretty=true

home/topic/2021/0621/18/ce9068ed705e17fd7fff168209c2268b.png

创建别名

可以使用POST方法提交创建别名的请求,可以一次性提交多个创建别名的请求。别名也是索引,别名名称和索引名称共享一个池子,不能重复。

POST /aliases

{
  "actions": [
    {
      "add": {
        "index": "tfams",
        "alias": "tfams_1"
      }
    }
  ]
}

home/topic/2021/0621/18/ffa6765ce19d48f0aa191488cd1458af.png

使用别名

可以想操作索引一样去操作别名,操作的时候把索引名称换成别名名称即可(注意:type还是一样的)。

curl http://elasticsearch:9200/tfams_1/tfams/14?pretty=true

home/topic/2021/0621/18/ba1ca540a4a6fda5f711366a82072242.png

删除别名

删除别名不会影响索引本身,操作风险不大。

POST /aliases

{
  "actions": [
    {
      "remove": {
        "index": "tfams",
        "alias": "tfams_1"
      }
    }
  ]
}

总结

今天福哥带着童鞋们学习了Elasticsearch的别名的使用方法,利用别名可以在一定程度上提高ES的索引的维护效率。