es 切换别名_Elasticsearch基础但非常有用的功能之一:别名

0、题记

本文是系列文章第一篇。介绍Elasticsearch的一些非常基础但实战开发确非常有用的技术点。了解这些技术点会帮助你设计更易于维护的数据索引,预先知道PB级大数据索引实战中的坑,提升工作效率。

本文从别名分类、索引别名实践、索引别名的好处、索引别名常见问题及坑解读、字段别名实践一把 五个方面进行详细解读。

1、别名分类

别名在Elasticsearch中有两种分类。

1.1 索引别名

官方释义: 索引别名可以指向一个或多个索引,并且可以在任何需要索引名称的API中使用。 别名为我们提供了极大的灵活性。它们允许我们执行以下操作: 

1)在正在运行的集群上的一个索引和另一个索引之间透明切换; 

2)对多个索引进行分组组合(例如,lastthreemonths的索引别名:是过去3个月索引 logstash201903, logstash201904, logstash_201905的组合);

 3)在索引中的文档子集上创建“视图”(结合业务场景,会提升检索效率)。

通俗解释: 索引别名类似:windows的快捷方式,linux的软链接,mysql的视图。

  • 前提:Elasitcsearch创建索引后,索引名不允许改。很多业务场景下单一索引可能无法满足要求。

  • 场景1:PB级别增量数据,借助rollover api实现,由基于日期的n个索引组成,显然,对外提供服务使用别名会很便捷。

  • 场景2:试想,线上提供服务的某个索引出了问题,比如:某字段分词定义不准确,如何保证对外提供服务不停止(不更改业务代码)的前提下更换索引,显然,别名更合适。

注意:实际业务场景使用别名会很方便、灵活、快捷、业务松耦合!!

1.2 字段别名

在Elasticsearch Mapping定义的6.4+版本才有的字段类型。 

通俗解释: 

试想一下有一种业务场景。比如在实际的业务开发中:需要对Facebook、twitter行采集,采集入库的是两个业务团队。

他们对content,分别使用了两个字段。其中一个是,content。另外一个是cont。 这时候存储到elasticsearch会有两个字段。

这样如果我们在检索、写业务代码的时候,是不是要写两个不同的字段来处理呢? 如果有可能写成一个字段,代码方面就很避开业务耦合,就很方便了。

我认为这是字段别名的由来。

2、索引别名实践

2.1 假设没有别名,如何处理多索引检索?
  • 方式一:多索引逗号分隔检索。

POST visitor_logs_2017,visitor_logs_2018/_search

  • 方式二:通配符索引检索。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: Elasticsearch使用别名有以下好处: 1. 无需停机切换索引:通过使用索引别名,我们可以在一个运行中的Elasticsearch集群中无缝地切换一个索引到另一个索引上,而无需停机。这提供了极大的灵活性和可靠性。\[1\] 2. 简化查询:使用别名可以简化查询过程。在使用别名后,不需要指定type类型的值,只需要填写索引名称即可。Elasticsearch服务端会根据别名来确定索引的类型。这样可以减少错误和异常的发生。\[2\] 3. 分组多个索引:通过别名,可以将多个索引分组,比如按月创建的索引。通过构造别名,可以方便地查询最近几个月的索引数据。这样可以简化查询操作并提高效率。\[3\] 4. 构建类似数据库的视图:使用别名可以查询一个索引中的部分数据,从而构建类似数据库的视图。通过指定过滤条件,可以只获取符合条件的数据,实现数据的细粒度控制。\[3\] 总之,使用别名可以提供更灵活、简化和高效的索引操作和查询过程,使得Elasticsearch的使用更加方便和友好。 #### 引用[.reference_title] - *1* *3* [Elasticsearch别名(aliases)使用](https://blog.csdn.net/Weixiaohuai/article/details/124745320)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [在Elasticsearch里面使用索引别名](https://blog.csdn.net/bluetjs/article/details/97018854)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值