简介
Mapping(映射): 是用来定义文档和它所包含的字段是如何被存储和索引的。
mapping 有点像 MySQL 中的数据表结构定义。
mapping 非常重要,在向 ES 中存储文档之前,必须先创建好 mapping。
在 Elasticsearch 中,mapping 可以定义(明确规定)以下内容:
- 字符串字段是否应当被看作 Full Text(全文本)或精确的字符串值
- 字段的数据类型(数值、日期或者地理位置)
- 文档中字段的值是否需要索引到 _all 字段
- date 数据类型的字段值的存储格式
- 对动态添加的字段,自定义映射规则
mapping 的常用 properties 有:
- type 数据类型
- index 是否创建倒排索引
- analyzer 显式指定分词器
- copyto 将当前字段拷贝指定字段
- properties 对象类型的子属性
type
每一个字段都有对应的数据类型,数据类型包含以下几种:
- 基本类型,如 text, keyword, date, byte, short, integer, long, double, boolean, ip 等等
- 复合类型,如 object, nested
- 特殊类型,如 geo_point, geo_shape, completion
在 ES 中,同一个字段可以对应多种数据类型。
比如