ElasticSearch中的索引机制与数据存储方式
1、 初次接触映射概念
2、 登录 Kibana 管理界面,进入索引管理,任选一个索引并点击打开,在弹出窗口中切换至映射标签页,即可查看该索引的 Mapping 结构信息。
3、 请参考图示,Mapping中针对文本类型字段设有ignore_above配置项,主要用于不需分词的索引字段(即整体建立倒排索引)。当字段内容长度超出该值时,系统将忽略该字段,不纳入索引存储。
4、 自动生成索引的映射配置信息
5、 当向一个不存在的索引添加文档时,ElasticSearch会自动创建该索引,并基于文档内容生成Mapping,智能识别并设置各字段的数据类型,无需手动定义结构,实现数据的即时存储与检索。
6、 动态映射是一种灵活的数据结构映射方法。
7、 Mapping 的 dynamic 属性用于控制新增字段的处理方式,可选值为 true、false 和 strict,默认值为 true,决定是否自动添加新字段。
8、 默认允许新增文档包含新字段,且新字段会自动被索引,支持搜索。
9、 新增文档可包含新字段,但这些字段无法被索引,系统允许此操作。
10、 严禁在新增文档中包含任何新增字段。
11、 默认情况下,dynamic 属性为 true,向索引添加包含新字段的文档时,插入成功且新字段可被正常搜索。
12、 当 Dynamic Mapping 中的 dynamic 属性设为 false 时,系统将忽略新增字段,不将其纳入索引结构。
13、 所示,将索引映射中的 dynamic 属性设为 false 后,新增包含新字段的文档仍可成功写入,但后续使用该新字段进行查询时,无法检索到对应文档数据。
14、 当 Dynamic Mapping 中的 dynamic 属性设置为 strict 时,禁止自动添加新字段。
15、 当设置索引映射的 dynamic 属性为 strict 后,若尝试添加包含新字段的文档,系统将拒绝写入,导致新增文档操作失败。
