es-什么是mapping-05
Elasticsearch 什么是mapping
mapping 的定义
- Mapping类似数据库中的schema的定义,作用如下
- 定义索引中的字段的名称
- 定义字段的数据结构类型,例如字符串,数字,布尔… …
- 字段,倒排索引的相关配置,(Analyzed or Not Analyzed,Analyzer)
- Mapping会把Json文档映射成Lucene所需要的扁平格式
- 一个mapping属于一个索引的Type
- 每个文档都属于一个Type
- 一个Type有一个mapping定义
- 7.0开始,不需要在mapping定义中指定type信息
字段的数据类型
- 简单类型
- Text/Keyword
- Date
- Integer/Floating
- Boolean
- IPv4 & IPv6
- 复杂类型-对象和嵌套对象
- 对象类型/嵌套类型
- 特殊类型
- geo_point &* geo_shape / percolator
什么是Dynamic Mapping
- 在写入文档时候,如果索引不存在,会自动创建索引
- Dynamic Mapping的机制,使得我们无需动手定义mappings。Elasticsearch会自动根据文档信息,推算出字段的类型
- 在使用地理位置信息时,有时候会推算的不对。如果类型设置不对时,会导致一些功能无法运行,例如Rang查询
es-什么是mapping-05
http://example.com/2022/11/09/es/es-什么是mapping-05/