首页 > 软件资讯 > ES Mapping与动态映射详解

ES Mapping与动态映射详解

时间:2026-09-14 13:32:38

ElasticSearch中的索引机制与数据存储方式

- 初次接触映射概念

在Kibana中,只需登录管理界面,选择一个索引并点击打开按钮,随后切换到“映射”标签页,即可轻松获取该索引的详细Mapping结构信息。

请参照图示,映射中对于文本类型字段设有ignore_above配置项,主要作用于无需分词的索引字段(即整体构建倒排索引)。当字段内容长度超过此值时,系统将忽略该字段,不纳入索引存储。

- 自动生成索引的映射配置信息

当你试图在不存在的索引中插入文档时,ElasticSearch将自动创建该索引,并根据文档的内容自动生成映射,从而识别和设定各字段的数据类型。这一功能简化了手动指定结构的过程,实现了数据的即刻存储与查找能力。

- 动态映射是一种灵活的数据结构映射方法。

使用 dynamic 属性可以自定义映射逻辑,支持 true(手动)、false(不处理)和 strict(严格模式,禁止新增字段)三种选择,默认为 true,实现智能数据配置管理。

- 默认允许新增文档包含新字段,且新字段会自动被索引,支持搜索。

- 新增文档可包含新字段,但这些字段无法被索引,系统允许此操作。

- 严禁在新增文档中包含任何新增字段。

当在默认配置下使用动态属性为true时,向索引添加包含新字段的文档后,这些字段将能够正常进行搜索和检索。

- 当 Dynamic Mapping 中的 dynamic 属性设为 false 时,系统将忽略新增字段,不将其纳入索引结构。

如图所示,若将索引映射中的dynamic属性设置为false后,新增的文档能够被正确写入,但在需要查询这些新增字段的数据时却无法找到相应的记录。

- 当 Dynamic Mapping 中的 dynamic 属性设置为 strict 时,禁止自动添加新字段。

当动态索引映射设为严格时,在添加包含新字段的文档时,系统会阻止写入,以确保数据一致性。

热门推荐