es总结-数据类型
Es支持的数据类型
|
一级分类 |
二级分类 |
具体类型 |
|
核心类型
|
字符串类型 |
string(已经不用了),text,keyword |
|
整数类型 |
integer,long,short,byte |
|
|
浮点类型 |
double,float,half_float,scaled_float |
|
|
逻辑类型 |
boolean |
|
|
日期类型 |
date |
|
|
范围类型 |
range |
|
|
二进制类型 |
binary |
|
|
复合类型 |
数组类型 |
array |
|
对象类型 |
object |
|
|
嵌套类型 |
nested |
|
|
地理类型 |
地理坐标类型 |
geo_point |
|
地理地图 |
geo_shape |
|
|
特殊类型 |
IP类型 |
ip |
|
范围类型 |
completion |
|
|
令牌计数类型 |
token_count |
|
|
附件类型 |
attachment |
|
|
抽取类型 |
percolator |
array类型
在 Elasticsearch 中,没有特定的 array 类型。默认情况下,任何字段都可以包含0个或者更多值,但是,所有 array 中的值必须具有相同的数据类型
- 字符串数组:[“one”, “two”]
- 整数数组:[1,2]
- 数组的数组:[1, [2, 3]],等价于**[1,2,3]**
- 对象数组:[ { "name": "Mary", "age": 12 }, { "name": "John", "age": 10 }]
array 的第一个值决定了字段的类型
其他说明
如何定义integer的数组
将age字段定义为integer类型的数组。虽然Elasticsearch没有专门的数组数据类型,但任何字段默认都可以包含零个或多个值,形成一个数组,只要数组中的所有元素数据类型一致即可。
PUT my_index
{
"mappings": {
"properties": {
"age": {
"type": "integer",
"index": true,
"doc_values": true
}
}
}
}
POST my_index/_doc
{
"age": [25, 30, 35]
}

浙公网安备 33010602011771号