Elasticsearch 别名(Aliases)的作用

前言
这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。
作者:神的孩子都在歌唱

一. 介绍

Elasticsearch 是一个强大的开源搜索和分析引擎,它支持实时数据检索和分析。别名(Aliases)是 Elasticsearch 中一个重要的功能,允许您为一个或多个索引设置一个可识别的名称,以简化索引的管理和查询过程。

image-20240221181210491

二. 别名的优势

  • 简化索引管理: 通过使用别名,您可以将多个索引关联到一个易于识别的名称,从而简化索引的管理和维护过程。
  • 平滑升级: 使用别名可以使滚动升级更加平滑,无需中断对数据的访问。您可以在升级期间将新索引添加到别名,并逐步将查询和写入流量切换到新索引。
  • 查询路由: 通过别名,您可以实现查询路由,将查询定向到特定的索引,从而优化查询性能。

三. 别名的基本操作

3.1 创建别名

您可以使用以下请求创建别名:

POST /_aliases
{
   
  "actions": [
    {
   
      "add": {
   
        "index": "customer*",
        "alias": "customer_alias"
      }
    },{
   
        "add": {
   
        "index": "customer",
        "alias": "customer_alias",
        "is_write_index": true

      }
    }
  ]
}

您可以用于is_write_index为别名指定写入索引。 Elasticsearch 将别名的任何写入请求 路由到此 索引。

如果别名指向多个索引或数据流且未is_write_index 设置,则别名将拒绝写入请求。如果索引别名指向一个索引is_write_index且未设置,则该索引会自动充当写入索引。数据流别名不会自动设置写入数据流,即使别名指向一个数据流。

3.2 查询别名关联的索引

GET _alias/customer_alias

image-20240221180907966

3.3 删除别名

要删除别名,可以使用以下请求:

POST /_aliases
{
   
  "actions": [
    {
   
      "remove": {
   
        "index": "customer*",
        "alias": "customer_alias"
      }
    }
  ]
}

3.4 更新别名

这里所谓的更新就是添加在删除,通过以下请求,您可以更新别名:

POST /_aliases
{
   
  "actions": [
    {
   
      "add": {
   
        "index": "customer_1",
        "alias": "customer_alias"
      }
    },
    {
   
      "remove": {
   
           "index": "customer",
        	"alias": "customer_alias"
      }
    }
  ]
}

image-20240221180037012

3.5 通过别名查询数据

GET /customer_alias/_search
{
   
 "query": {
   
 "match_all": {
   }
 } 
}

是能够正常查询出来索引customer的数据的

image-20240221174550460
更多操作可以看 官方文档

作者:神的孩子都在歌唱
本人博客:https://blog.csdn.net/weixin_46654114
转载说明:务必注明来源,附带本人博客连接。

相关推荐

  1. npm insall报错无效依赖类型:别名alias

    2024-02-22 12:48:01       41 阅读
  2. 使用alias定义命令别名

    2024-02-22 12:48:01       40 阅读
  3. 日常007:alias给长命令起个简短别名

    2024-02-22 12:48:01       49 阅读
  4. react脚手架创建项目,配置别名alias

    2024-02-22 12:48:01       40 阅读
  5. Elasticsearch 8 支持别名查询

    2024-02-22 12:48:01       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-22 12:48:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-22 12:48:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-22 12:48:01       87 阅读
  4. Python语言-面向对象

    2024-02-22 12:48:01       96 阅读

热门阅读

  1. 腾讯云主机Ubuntu22.04安装Odoo17

    2024-02-22 12:48:01       57 阅读
  2. 求逆序对

    2024-02-22 12:48:01       49 阅读
  3. Oracle普通用户启停JOB报错ORA 27486权限不足

    2024-02-22 12:48:01       50 阅读
  4. vue系列--图片通过鼠标滚轮放大缩小指令

    2024-02-22 12:48:01       49 阅读
  5. netty的TCP服务端和客户端实现

    2024-02-22 12:48:01       50 阅读
  6. 令牌颁发与管理服务

    2024-02-22 12:48:01       48 阅读