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

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

将一个别名关联多个索引


test1添加别名alias1test2添加别名alias2,代码块中的两种方式等效。为索引绑定多个别名的语法与之类似,只需将alias替换aliases数组。


POST /_aliases
{
  "actions" : [
    { "add" : { "index" : "test1", "alias" : "alias1" } },
    { "add" : { "index" : "test2", "alias" : "alias1" } }
  ]
}
# 等效于上面的方式
POST /_aliases
{
  "actions" : [
    { "add" : { "indices" : ["test1", "test2"], "alias" : "alias1" } }
  ]
}

除了以上两种方式外,我们还可以使用glob模式,将别名与多个索引相关联绑定,这种方式只会对集群中已存在的索引生效,不会对之后创建的索引生效。


POST /_aliases
{
  "actions" : [
    { "add" : { "index" : "test*", "alias" : "all_test_indices" } }
  ]
}

如果错误的创建了一个索引,同样可以通过别名的方式来解决。


例如:错误的创建了一个名称为test的索引,而实际需要的索引名称为test_2,但是已经有数据往索引里面写入数据了;为了解决这个问题,首先创建正确的索引名称,然后用一个原子操作,将test别名绑定test_2,同时删除索引test

 

集群状态中不会发生别名绑定不到索引的情况;但由于索引和搜索涉及多个步骤,正在运行或排队的请求,可能会由于临时不存在索引而失败。


# 创建索引test
PUT test   
#  创建索引test_2 
PUT test_2   
POST /_aliases
{
  "actions" : [
    { "add":  { "index": "test_2", "alias": "test" } },
    { "remove_index": { "index": "test" } }  
  ]
}

新建索引时绑定别名

 

上述给索引绑定别名,均需要提前创建索引;若需要别名能给对新索引生效,可以在创建索引时进行指定。


PUT test1
{
  "aliases" : {
      "alias1" : { },
      "alias2" : { }
    },
    "mappings" : { },
    "settings" : {}
}


除此之外,还可以在索引模板里面进行指定

 

如下代码块创建了一个模版名称为testorder权重为0索引模板,之后只要是以test开头的索引都会绑定别名alias1alias2


PUT _template/test
{
   "order" : 0,
   "index_patterns" : [
      "test*"
    ],
     "aliases" : {
      "alias1" : { },
      "alias2" : { }
    },
     "mappings" : { },
    "settings" : {}
}

别名查看

 

Get index alias

 

别名的查看方式有如下几种方式


GET /_alias
GET /_alias/<alias>
GET /<index>/_alias/<alias>?allow_no_indices=true&expand_wildcards=all&local=false&ignore_unavailable=false


路径参数

 


 

可选参数,参数类型为string参数支持单个索引或者以逗号分隔的多个索引再或者通配符表达式形式

 


 

可选参数,参数类型为string参数支持单个别名或者以逗号分隔的多个别名再或者通配符表达式形式

 

查询参数

 

allow_no_indices

 

可选参数,参数类型为Boolean,默认值为true;如果设置为false,任何通配符表达式、索引别名或_all值只针对丢失或关闭的索引,则请求将返回一个错误。即使请求以其他开放索引为目标,此行为也适用。

 

expand_wildcards

 

可选参数,参数类型为string该参数主要用于控制哪些特性的索引的别名可以被查看,参数可取如下几种类型的值:

 

l all

l 匹配所有数据流或索引,包括隐藏的数据流或索引。默认值为 all。

 

l open

l 匹配索引状态为open,非hidden的索引,以及非hidden的数据流。

 

l closed

l 匹配索引状态为closed,非hidden的索引,以及非hidden的数据流(数据流不能够被关闭)。

 

l hidden

l 匹配隐藏的数据流和索引,且索引必须是打开或者关闭状态。

 

l none

l 不接受通配符表达式,即参数中不能包含通配符表达式

 

ignore_unavailable

 

可选参数,参数类型Boolean,默认值为false。如果请求路径中有索引不存在,则请求将会发生错误。

 

local

 

可选参数,参数类型Boolean,默认值为false。如果设置为true,则仅仅从本地节点获取集群元信息(包括索引别名信息);如果设置为true,则从master节点获取master的信息最权威,可以避免因为网络等问题,造成的元信息下发不及时,造成的获取元信息有误,但也会增加网络开销。

 

_cat API

 

除了通过Get index alias API进行查看索引别名,还可以_cat API进行索引别名查看。


GET _cat/aliases
GET _cat/aliases/<alias>


别名删除

 

Delete index alias

 

RESTful API 语法如下


DELETE /<index>/_alias/<alias>?master_timeout=<time>&timeout=<time>
DELETE /<index>/_aliases/<alias>?master_timeout=<time>&timeout=<time>



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

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。 &nbsp;
相关文章
|
应用服务中间件 nginx
利用nginx+fancyindex美化目录索引
利用nginx+fancyindex美化目录索引 1.下载第三方插件
1257 0
利用nginx+fancyindex美化目录索引
|
3月前
|
SQL Oracle 关系型数据库
Oracle数据库学习知识点(一)
教程来源 https://app-ah8jla8z2m81.appmiaoda.com 系统梳理Oracle数据库核心知识,涵盖安装配置、体系结构、SQL基础、PL/SQL编程等关键内容,兼顾初学者入门与DBA/开发者进阶需求,助力构建完整技术体系。
|
Web App开发 Cloud Native Docker
删除容器报错:Error response from daemon: conflict: unable to delete
云原生日益普及的现在,docker容器化成为现有很多服务的改进方向,docker凭借更高效的利用系统资源、更快速的启动时间、一致的运行环境、持续支付和部署、更轻松的迁移、更轻松的维护和拓展等优势,迅速走红。但是,很多容器部署后在回收时,都会遇到各种各样的问题,比如今天讨论的删除镜像的问题,有时候删除操作会莫名其妙的报错。
1308 1
|
6月前
|
存储 编解码 人工智能
阿里云视频点播VOD收费标准:存储费用、流量价格、转码费用及视频加速价格整理
阿里云视频点播VOD按存储、转码、流量及加速等计费,支持资源包与按量付费。含新客9.9元套餐,涵盖流量、转码、存储等多种优惠,详情见官方页面。
|
6月前
|
监控 数据可视化 物联网
告别进度失控与成本超支!追踪复杂工程的高效工具选型指南
复杂工程管理面临进度、资源、成本与协同难题,传统工具难以为继。本文系统解析超大型基建、EPC、BIM施工等场景的精准工具选型:从轻量协同到企业级管控,覆盖Primavera、BIM5D、SAP等方案,并提炼多级计划、4D模拟、EVM等核心能力,提供四步落地策略与快速选型口诀,助力实现项目全过程数字化闭环管理。(238字)
|
人工智能 关系型数据库 分布式数据库
客户说|哔哩哔哩基于阿里云PolarDB与千问大模型构建全域内容洞察新框架
哔哩哔哩联合阿里云 PolarDB for AI,构建“大模型+小模型”协同的全域内容洞察体系,基于去标识化公开互动数据,实现视频、评论等内容的结构化分析,精准识别品牌、类目、用户反馈属性,助力营销效果量化与策略优化。
|
6月前
|
运维 关系型数据库 Linux
Linux 高效学习指南:从入门到运维的科学路径
本文介绍Linux运维学习的科学路径,主张“场景驱动”替代死记硬背。涵盖四大阶段:一周掌握核心命令,两周理解系统原理与故障排查,两周实战部署LNMP服务,长期进阶自动化运维。强调动手实操、问题驱动与循序渐进,提供各阶段目标、任务与资源推荐,助你高效构建完整知识体系,成为实战型运维人才。
|
10月前
|
安全 数据处理 Python
Python 函数式编程:让代码更简洁高效
Python 函数式编程:让代码更简洁高效
519 107
|
Arthas 监控 Java
Arthas logger(查看 logger 信息,更新 logger level)
Arthas logger(查看 logger 信息,更新 logger level)
458 6
|
8月前
|
运维 小程序 搜索推荐
小程序制作平台哪个好?小程序开发工具推荐
在数字化浪潮席卷的当下,小程序凭借其便捷性、易用性和强大的功能,成为企业拓展业务、提升用户体验的重要工具。然而,选择合适的小程序开发模式,是确保项目成功的关键所在。目前,主流的小程序开发模式主要有自主开发、利用SaaS小程序制作平台开发以及外包开发这三种。它们在成本投入、开发周期、控制力度和灵活性等方面各有优劣,适用于不同发展阶段和类型的企业。接下来,我们将对这三种模式进行详细剖析。
1183 16

热门文章

最新文章