1. 参考
https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html
2. 字符串类型
- text
- keyword
3. 数值类型
- long
- integer
- short
- byte
- double
- float
- half_float
- scaled_float
4. 日期类型
- date
5. 布尔值类型
- boolean
6. 二进制类型
- binary
7. 范围类型
- integer_range
- float_range
- long_range
- double_range
- date_range
8. Array 数据类型
Array 不需要定义特殊类型
9. Object 数据类型
json 嵌套
10. 地理数据类型
- Geo-point
- Geo-Shape
11. 特殊数据类型
- ip(IPv4 and IPv6 addresses)
- completion(自动完成/搜索)
- token_count (数值类型,分析字符串,索引的数量)
- murmur3 (索引时计算字段值的散列并将它们存储在索引中的功能。 在高基数和大字符串字段上运行基数聚合时有很大帮助)
- join (同一索引的文档中创建父/子关系)
12. 以下是常用的参数类型定义&赋值 demo
类型 | 参数定义 | 赋值 |
---|---|---|
text | "name":{"type":"text"} | "name": "zhangsan" |
keyword | "tags":{"type":"keyword"} | "tags": "abc" |
date | "date":{"type": "date"} | "date":"2015-01-01T12:10:30Z" |
long | "age":{"type":"long"} | "age" :28 |
double | "score":{"type":"double"} | "score":98.8 |
boolean | "isgirl": { "type": "boolean" } | "isgirl" :true |
ip | "ip_addr":{"type":"ip"} | "ip_addr": "192.168.1.1" |
geo_point | "location": {"type":"geo_point"} | "location":{"lat":40.12,"lon":-71.34} |