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]
}

 

posted @ 2024-06-03 18:26  星光闪闪  阅读(42)  评论(0)    收藏  举报