前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >9.ES别名你用对了么?

9.ES别名你用对了么?

作者头像
AI码师
发布2023-10-30 16:23:56
3580
发布2023-10-30 16:23:56
举报

在 Elasticsearch 中,索引别名(Index Alias)是一个非常有用的功能,它允许你为一个或多个索引分配一个更友好、更易于理解的名称。别名不是实际的索引,而是一个指向一个或多个索引的标识符。通过使用别名,你可以隐藏实际索引的名称,使得在应用程序中使用更具有可读性的名称,同时还能提供灵活性和便利性。

别名的创建

先创建两个普通索引

代码语言:javascript
复制
PUT lglbc_log001/_doc/1
{
  "name":"登录",
  "api":"/login",
  "method":"post"
}
PUT lglbc_log002/_doc/2
{
  "name":"注销",
  "api":"/logout",
  "method":"post"
}

执行创建别名请求

代码语言:javascript
复制
POST /_aliases
{
  "actions": [
    {
      "add": {
        "index": "lglbc_log001",
        "alias": "lglbc_log"
      }
    },
    
    {
      "add": {
        "index": "lglbc_log002",
        "alias": "lglbc_log"
      }
    }
  ]
}

按照别名搜索

代码语言:javascript
复制
GET lglbc_log/_search

在别名中实现数据过滤

如果你想在查询别名时,提前加上过滤条件,那么你可以这么做: 先塞一条GET 请求的数据:

代码语言:javascript
复制
PUT lglbc_log002/_doc/3
{
  "name":"用户列表",
  "api":"/user/list",
  "method":"get"
}

修改过滤器,使其支持method:post过滤

代码语言:javascript
复制
POST _aliases
{
  "actions": [
    {
      "add": {
        "index": "lglbc_log001",
        "alias": "lglbc_log",
        "filter": {
          "term": {
            "method": "post"
          }
        }
      }
    },
    {
      "add": {
        "index": "lglbc_log002",
        "alias": "lglbc_log",
        "filter": {
          "term": {
            "method": "post"
          }
        }
      }
    }
  ]
}

再次查询,发现刚才添加的数据被过滤掉了,说明过滤器有作用了

查看别名

代码语言:javascript
复制
GET _alias/lglbc_log

删除别名

代码语言:javascript
复制
POST _aliases
{
  "actions": [
    {
      "remove": {
        "index": "lglbc_log001",
        "alias": "lglbc_log"
      }
    }
  ]
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乐哥聊编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 别名的创建
  • 按照别名搜索
  • 在别名中实现数据过滤
  • 查看别名
  • 删除别名
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档