zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

【ElasticSearch】索引别名

2023-09-27 14:25:05 时间

背景

  主要介绍Elasticsearch中索引的别名,以及常见的API

环境准备

  创建索引 index_demo 索引信息如下

-- 查询索引
GET index_demo

--查询结果
{
  "index_demo" : {
    "aliases" : { },
    "mappings" : {
      "_doc" : {
        "properties" : {
          "jerse_no" : {
            "type" : "keyword"
          },
          "name" : {
            "type" : "text"
          },
          "play_year" : {
            "type" : "keyword"
          },
          "position" : {
            "type" : "keyword"
          },
          "team_name" : {
            "type" : "text"
          }
        }
      }
    },
    "settings" : {
      "index" : {
        "creation_date" : "1611372565907",
        "number_of_shards" : "5",
        "number_of_replicas" : "1",
        "uuid" : "R2D6ShvCQNKqbKpOox4nkA",
        "version" : {
          "created" : "6080799"
        },
        "provided_name" : "index_demo"
      }
    }
  }
}

别名

  1.查询别名
    方法1:查询索引全部信息,索引信息中包含别名信息 
         语法:GET index_demo
    方法2:  查询索引的指定别名
         语法:  GET index_demo/_alias/aaa,bbb ,支持通配符和多个索引别名,多个索引别名用逗号分割
         别名不存在时会返回如下信息

      {
        "error" : "alias [aaa,bbb] missing",
        "status" : 404
      }

    方法3:查询索引的全名别名
         语法:GET index_demo/_alias/*
         别名不存在时会返回空对象  --> { }

  2.创建别名
    方法1:使用Rest API 处理
         语法:POST index_demo/_alias/aaa (新增别名aaa)
    方法2:使用Rest API +DSL语法 处理
         语法:(新增别名bbb)

POST _aliases
{
  "actions": [
    {
      "add": {
        "index": "index_demo",
        "alias": "bbb"
      }
    }
  ]
}

  3.删除别名
    方法1:使用Rest API处理
         语法:DELETE index_demo/_alias/aaa,bbb (删除索引aaa ,bbb)
    方法2:使用Rest API +DSL语法处理
         语法:(删除别名bbb)

POST _aliases
{
  "actions": [
    {
      "remove": {
        "index": "index_demo",
        "alias": "aaa"
      }
    }
  ]
}

  4.创建+删除别名
    对某个索引添加别名的同时,对某个索引删除别名
    方法:使用DSL语法处理

POST _aliases
{
  "actions": [

    {
      "remove": {
        "index": "index_demo",
        "alias": "bbb"
      }
    },
        {
      "add": {
        "index": "index_demo",
        "alias": "bbb"
      }
    }
  ]
}

参考资料

  《Elasticsearch技术解析与实战》 朱林