Elasticsearch 创建以及修改索引结构
从问题出发,这篇内容可以解决以下几个问题:
一:如何开启关闭Es索引(数据库)?
二:如何创建索引(数据库)结构?
三:如何向已有索引(数据库)中添加类型(表)结构?
四:如何向已有类型(表)中添加新字段?
五:如何更改现有类型(表)中的字段类型?
六:如何删除索引(数据库)?
七:如何删除索引中某一个类型结构(同时删除数据以及数据结构)?
八:如何删除索引中某一类型结构的全部数据而不删除类型结构?
九:为什么同一索引下不同类型的结构如果字段名称相同会报错?
十:创建索引结构时注意事项以及问题?
一:如何开启关闭Es索引(数据库)?
关闭索引
POST /my_index/_close
开启索引
POST /my_index/_open
二:如何创建索引(数据库)结构?
PUT twitter { "mappings": { "tweet": { "properties": { "message": { "type": "text" } } } } }
三:如何向已有索引(数据库)中添加类型(表)结构?
PUT twitter/_mapping/user { "properties": { "name": { "type": " keyword" } } }
四:如何向已有类型(表)中添加新字段?
PUT twitter/_mapping/tweet { "properties": { "user_name": { "type": " keyword" } } }
五:如何更改现有类型(表)中的字段类型?
无法更改;
六:如何删除索引(数据库)?
参考链接:https://www.cnblogs.com/Rawls/p/10110743.html
七:如何删除索引中某一个类型结构(同时删除数据以及数据结构)?
Elasticsearch不支持删除一个Type;
参考链接:https://blog.csdn.net/youzhouliu/article/details/79940729
八:如何删除索引中某一类型结构的全部数据而不删除类型结构?
POST /testindex/testtype/_delete_by_query?pretty { "query": { "match_all": { } } }
九:为什么同一索引下不同类型的结构如果字段名称相同会报错?
这个问题比较坑,什么意思呢?用我们使用关系型数据库的逻辑来说,就是同一个数据库里面,如果有两个不同的表,表里面都有name字段,
如果A表中name是varchar类型,B表中name是int类型,完了,这就没办法创建索引了。所以,我们在创建索引的时候要注意,为什么会有这样的问题呢?
难道是Es的bug?这个主要是因为Es使用的是lucene的框架,具体的原因大家可以参考官方文档 避免类型陷阱
十:创建索引结构时注意事项以及问题?
1: 明确字段存储类型,是int类型还是文本类型;
ES字段类型参考:https://blog.csdn.net/chengyuqiang/article/details/79048800
2: 文本类型情况下,一种是keyword,一种是text ;
二者的区别请参考:https://www.cnblogs.com/Rawls/p/10069670.html
3: 字段结构类型一旦定义之后,是无法修改的,就跟你在数据库中一样,以前是int类型,
是无法改成varchar类型的(在sqlserver 表中没有数据情况下可以修改)。
4: 如果需要修改结构类型,只能在在这个文档类型中新增一个字段了。
5: 同一个索引下面,字段名称尽量不要重复;
6: 字段名称如果有重复情况,一定要使用相同的字段类型,要么都是integer,要么都是text。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· 赶AI大潮:在VSCode中使用DeepSeek及近百种模型的极简方法
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地