带你读《Elastic Stack 实战手册》之26:——3.4.2.11.Index alias(4)

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 带你读《Elastic Stack 实战手册》之26:——3.4.2.11.Index alias(4)


《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.11.Index alias(3) https://developer.aliyun.com/article/1230377


参数释意

 


 

可选参数,参数类型为string参数支持单个索引或者以逗号分隔的多个索引再或者通配符表达式形式。_all*表示对集群中所有索引。

 


 

可选参数,参数类型为string参数支持单个别名或者以逗号分隔的多个别名再或者通配符表达式形式。_all*表示删除的所有别名。master_timeouttimeout的默认值30s

 

bulk 删除

 

使用bulk的方式,同时为一个索引或者一组索引,移除关联的索引别名;假如已经为test1添加了别名alias1test2添加了别名alias2,现在需要进行别名移除,可以执行如下四种操作。

 

# 移除指定索引的指定别名
POST /_aliases
{
  "actions" : [
    { "remove": { "index" : "test1", "alias" : "alias1" } },
    { "remove": { "index" : "test2", "alias" : "alias2" } }
  ]
} 
POST /_aliases
{
  "actions" : [
    {  "remove": { "indices" : ["test1","test2"], "aliases" : ["alias1","alias2"]}}
  ]
} 
# 移除以test开头的索引的指定别名;使用通配符方式,需要注意影响范围
POST /_aliases
{
  "actions" : [
    { "remove": { "index" : "test*", "alias" : "alias1" } },
    { "remove": { "index" : "test*", "alias" : "alias2" } }
  ]
} 
POST /_aliases
{
  "actions" : [
    { "remove": { "index" : "test*", "aliases" : ["alias1","alias2"] } }
  ]
} 

别名的分类与应用

 

依据不同的使用场景,我们可以简单把别名分为三类:(1)索引别名(2)过滤别名(3)路由别名

 

过滤别名


一种创建同一索引的不同”视图“的简便方法。

 

通过将过滤条件绑定到对应别名,使用不同别名即获取满足不通条件的数据;使用Query DSL定义过滤器。

 

使用过滤别名,必须得保证过滤字段存在,因此提前创建好索引,并设定该字段的schema

 

如下示例,首先创建一个名为my-index-000001的索引


PUT /my-index-000001
{
  "mappings": {
    "properties": {
      "user": {
        "properties": {
          "id": {
            "type": "keyword"
          }
        }
      }
    }
  }
}

再为索引添加上过滤别名,并批量插入三个文档


#添加过滤别名
POST /_aliases
{
  "actions": [
    {
      "add": {
        "index": "my-index-000001",
        "alias": "alias2",
        "filter": { "term": { "user.id": "kimchy" } }
      }
    }
  ]
}
#批量插入文档
PUT my-index-000001/_bulk
{"index":{}}
{"user.id":"kimchy"}
{"index":{}}
{"user.id":"tom"}
{"index":{}}
{"user.id":"jerry"}

使用别名执行一个空搜索GET alias2/_search,和预期的一致只返回user.idkimchy的文档


# 注意:返回内容中省略了与本节无关的内容
{
  "hits" : {
    "hits" : [
      {
        "_index" : "my-index-000001",
        "_type" : "_doc",
        "_id" : "b_VkIXkB9LctWlE3HOtS",
        "_score" : 1.0,
        "_source" : {
          "user.id" : "kimchy"
        }
      }
    ]
  }
}


 

《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.11.Index alias(5) https://developer.aliyun.com/article/1230374

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
Servlet使用适配器模式进行增删改查案例(Emp.java)
Servlet使用适配器模式进行增删改查案例(Emp.java)
|
文字识别 监控 算法
Baumer工业相机堡盟工业相机如何使用BGAPISDK联合Halcon将图像中的六一快乐字体提取出来(C#)
Baumer工业相机堡盟工业相机如何使用BGAPISDK联合Halcon将图像中的六一快乐字体提取出来(C#)
191 0
|
JavaScript 开发者 UED
Vue 插槽:让你的组件更具扩展性(上)
Vue 插槽:让你的组件更具扩展性(上)
Vue 插槽:让你的组件更具扩展性(上)
|
机器学习/深度学习 PyTorch 算法框架/工具
Pytorch手撕Alexnet神经网络(CIFAR10数据集)-详细注释-完整代码可直接运行
Pytorch手撕Alexnet神经网络(CIFAR10数据集)-详细注释-完整代码可直接运行
|
测试技术
Pytest----失败N次后停止执行
Pytest----失败N次后停止执行
458 0
|
机器学习/深度学习 数据采集 数据挖掘
使用Python线性回归预测Steam游戏的打折的幅度(一)
使用Python线性回归预测Steam游戏的打折的幅度(一)
290 0
使用Python线性回归预测Steam游戏的打折的幅度(一)
|
2天前
|
人工智能 运维 安全
|
5天前
|
SpringCloudAlibaba 负载均衡 Dubbo
微服务架构下Feign和Dubbo的性能大比拼,到底鹿死谁手?
本文对比分析了SpringCloudAlibaba框架下Feign与Dubbo的服务调用性能及差异。Feign基于HTTP协议,使用简单,适合轻量级微服务架构;Dubbo采用RPC通信,性能更优,支持丰富的服务治理功能。通过实际测试,Dubbo在调用性能、负载均衡和服务发现方面表现更出色。两者各有适用场景,可根据项目需求灵活选择。
386 124
微服务架构下Feign和Dubbo的性能大比拼,到底鹿死谁手?
|
7天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
704 107