3.2.4.Dynamic Mapping(动态映射)
Last updated
Last updated
Elasticsearch最重要的功能之一就是让你尽可能快地开始探索数据。要索引文档,你不用立即创建index(索引),定义相关的
mapping type(映射类型)和定义相关的fields(字段)— 你可以只索引document(文档)、index(索引)、type(类型)和
fields(字段),这些操作都将自动生效。
自动的检测和添加新的类型以及字段的过程,称之为动态映射。你可以根据需要定制动态映射的规则 :
_default_ mapping(_default_ 映射)
配置一个基本映射,作用于新的映射类型。
Dynamic field mappings(动态字段映射)
控制动态字段发现的规则。
Dynamic templates(动态模板)
利用自定义规则来配置动态添加的字段的映射。
Tips :
无论是自动还是显式的创建索引,Index templates(索引模板)都允许你为一个新的索引配置mappings,settings和aliases(别名)。
每个索引都可以通过将 indexsetting(索引设置)中的index.mapper.dynamic属性设置为false,来禁用Automatic type creation(自动创建类型)-(根据数据类型自动创建mapping):
通过对索引模板的设置,可以禁用所有索引的自动创建类型(根据数据类型自动创建mapping)):
无论该属性如何设置,在 创建索引 或使用 PUT mapping API时,我们仍然可以显式的添加types(类型)。
1
创建名为data的索引,其中包含名为counters的mappingtype(映射类型),以及名为count的long数据类型。
1
禁用名为 “data” 的索引的自动创建类型(根据数据类型自动创建mapping)
1
禁用所有索引的自动创建类型(根据数据类型自动创建mapping)