Elasticsearch-7.x删除Type原因
Elasticsearch7.0为什么删除 Mapping Type
自从Elasticsearch的第一个版本以来,每个文档都存储在一个索引中,并分配了一个映射类型。映射类型用于表示被索引的文档或实体的类型,例如,twitter索引可能有 user Type 和 tweet Type。
每个Type都可以有自己的字段,因此 User Type 中的字段可能是 user_name 和 email,而tweet Type 可以有 user_name 和 content 字段。
最初,ES 要做的索引是要类似于 SQL 的数据库,“类型(Type)” 相当于 “表”。
这是一个错误的类比,导致了错误的假设。在SQL数据库中,表是相互独立的。一个表中的列与另一个表中同名的列没有关系。但是Elasticsearch 中的 Type 字段并非如此。
在 Elasticsearch 索引中,不同的 Type 中具有相同名称的字段在内部由相同的 Lucene 字段支持。换言之,User Type 中的 user_name 字段存储于 tweet Type 中的 user_name 字段,这两个 user_name 字段在同一索引 不同类型中必须具有相同的映射(Mapping Field)。
除此之外,在同一个索引中存储具有很少或没有公共字段的不同会导致数据稀疏,并影响 Lucene高校压缩文档的能力。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具