ElasticSearch实战 (三)索引的Mapping映射那些事

本文探讨了Elasticsearch中的映射概念,包括为何需要映射、如何创建及修改映射,以及映射对数据处理的重要性。介绍了映射中字段的数据类型、默认值、分析器等设置,并提供了实例说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  •         引言思考

        在这篇博客中,我们谈一下es的映射,es中为什么要存在映射?以及它起到的作用,需不需要重视它的应用,与其它类似产品有没有这种概念?这些都是我们在学习一个新概念时应有的思路,下面我先说一下自己的理解。

        mapping感觉是处理数据的方式和规则方面做一些限制,如某个字段的数据类型、默认值、分析器、是否被索引等等,这些都是映射里面可以设置的,其它就是处理es里面数据的一些使用规则设置也叫做映射,按着最优规则处理数据对性能提高很大,因此才需要建立映射,并且需要思考如何建立映射才能对性能更好?和建立表结构表关系数据库三范式类似。

        在刚刚接触es的时候很多资料教程都不会直接上来先建立mapping映射,都是从一些示例入手很容易理解,那时没有建立映射es也是可以工作的,说明es很多地方都是有默认设置的,如果我们不设置字段类型那么将走默认类型。

  •         映射的新建、修改、删除

       让我们先来建一个library01的索引,然后再该索引上面添加映射,其它也可以在建立索引时同时初始化映射关系,先建后建都是一样的。


如上面library01是我新建的索引,从右侧可以看出来它的mapping映射是空值,我们并没有建映射,在library01中新建映射 如


        已经为索引建立了映射,可以用上图中get命令查看各种索引,可以从一个索引中查看某个或某几个类型的映射,也可以查看集群中所有或指定类型索引,用起来还是很方便的。

        新建完还可以删除映射,通过这些命令:



        最后就是更新操作了,其它更新操作还是比较麻烦的,es中想要给一个已经建好映射的索引改变映射结果,即使改变一个字段类型都是不支持的,需要重新建立索引以及映射结构,然后把以前的数据导入到新建的索引结构中去,完成改变映射结构的目的。

        步骤:

1.给已有的索引定一个别名,并指向该别名

2.新建一个新的索引,新的映射结构

3.将别名指向新的索引,取消旧的索引与别名之间的关联

        通过这几部即可达到重新改变映射结构的内容,例如我们想改变library01的映射中price字段的类型由现有的double变为integer类型。



        从上面图中可以看出来price 类型已经是integer类型了,客户端不需要知道变化也不需要停止es服务,在必要的时候可以使用这个方法。

        在映射中会有很多es关键字其它还是需要了解一下,不必死记,用熟了自然而然就知道了给大家贴一下


        总结:

        通过上面示例知道了如何为es建立映射,建立好后以后我们就可以添加数据,处理数据了,最终的工作我们都是为了高效的查询es数据,es的核心也是分布式实时来查询、分析数据的。

        生活、工作、学习都需要我们有个计划,有个规划,这样才能微笑生活。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李龙生的博客

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

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

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

打赏作者

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

抵扣说明:

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

余额充值