新年第一天,老板让升级ElasticSearch版本,我说得加钱

Elasticsearch 7.x及以上版本移除了type概念,引入了别名作为替代。别名用于对索引进行分组,使得在查询时可以像全库搜索一样操作。通过为索引添加别名,可以实现跨多个索引的查询,简化搜索逻辑。例如,原先通过type查询的方式不再适用,现在可以通过别名查询,将多个索引聚合在一起进行关键字搜索,达到类似全库查询的效果。
摘要由CSDN通过智能技术生成

大家新年快乐呀,今天是开工的第一天,祝观看这篇博客的帅哥美女:虎年来到,福虎祝你鸿福齐天,万事如意;祥虎祝你财气冲天,好运无穷;吉虎祝你吉星高照,心想事成;灵虎祝你天天开心,福寿安康;朋友则祝你虎年如意,万事顺心!

自从elasticSearch更新到7.x之后,就取消了type的概念,这从结构上来讲可以说是改变了es原来的底层结构(可以这么认为),因为之前es也是参考于基本的数据库结构:库-表-行来设计的,也就是说现在的es去除了type就是相当于去除了表的设计。

为什么取消type?

所以我们就不能像以前一样每个表对应一个type了,但是这个时候又引入了一个新的概念:别名

什么是别名呢?它的到来能影响什么呢?

首先我们要理解es之前的搜索的设计:

我们要在一个库里面搜索一个关键字,我们可以直接搜索一个库下面所有的表,也就是type,但是现在这招不适用es7.x以上了,所以我们可以理解别名的作用是用来给index创建一个分组,这样我们在查询的时候就可以去分组中查询关键字,这样的结果也就是将很多的index给聚集起来一起查询,光说大家可能还不是怎么理解,下面给大家具体演示一下:

首先我们的查询是这样的:

在这里插入图片描述
上面的意思就是在索引为special_express_fee中查询type字段中包含顺丰的数据
但是es7.x之后如果我们新建一个special_express_fee_copy表,我们就需要用以下的方式去查询
在这里插入图片描述
这显然是不符合全局搜索的要求的,因为它是从两个不同的索引去搜索关键字。但是我们给两个索引加上别名之后:

创建索引时加入别名定义

一个索引可以接受多个别名,而一个别名也可以映射到多个索引,当指定别名时,别名将自动扩展到添加的索引

在这里插入图片描述

给已创建的索引添加别名

在这里插入图片描述

查询别名

在这里插入图片描述

这样我们就将他们这些索引给添加了一个别名,这使得我们在查询的时候可以通过去查询别名的时候去进行类似于全库查询的方式去查询关键字,就像这样:

别名查询

在这里插入图片描述
这样通过别名去查询的方法,就相当于全库查询,查询所有索引别名为special_express_fee_all的索引信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

掉头发的王富贵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值