属性字段列表,通过properties字段定义整个文档有效载荷的各字段的数据类型、分词器等属性。
映射类型,可以理解为以何种方式来定义索引中一个类型的字段集。
1.2 数据类型
每一个字段都会指定一个数据类型,数据类型通常如下:
简单类型,例如text、keyword、date、long、double、boolean、ip
复合类型,诸如object(json)、netsed.
特殊类型,诸如geo_point、geo_shape(地图相关类型)、completion。
后续章节会单独重点剖析elasticsearch所支持的数据类型。
1.3 映射保护机制
es提供如下参数来限制es的行为:
- index.mapping.total_fields.limit t
索引中允许定义的最大字段(属性)个数,默认为1000。
- index.mapping.depth.limit
字段级联的最大深度,默认为20。
- index.mapping.nested_fields.limit
一个索引最多包含字段类型为nested的个数,默认为50。
1.4 动态映射机制
与关系型数据库不同的是,一个type(对应关系型数据库的表)中的字段可以在使用过程中动态添加。具体的动态映射机制,将在后续文章中单独结束。
1.5 更新已有映射定义
es不支持直接修改已索引的已存在的字段映射,因为修改字段映射,意味着已索引的数据生效,可以使用别名机制来修改字段的名称,如果需要修改已存在字段的映射,建议重新创建一个索引,再使用reindex API