2

字段数据类型

Elasticsearch支持文档中字段的多种不同数据类型:

核心数据类型

字符串

  • textkeyword

数字

  • longintegershortbytedoublefloathalf_floatscaled_float

日期

  • date

日期纳秒

  • date_nanos

布尔

  • boolean

二进制

  • binary

范围

  • integer_rangefloat_rangelong_rangedouble_rangedate_range

复杂数据类型

对象

  • object用于单个JSON对象

嵌套

  • nested用于JSON对象数组

地理数据类型

Geo-point

  • geo_point表示lat/lon坐标点

Geo-shape

  • geo_shape用于复杂形状(如多边形)

专门的数据类型

IP

  • ip用于IPv4和IPv6地址

完成数据类型

  • completion提供自动完成建议

令牌数

  • token_count用于计算字符串中的令牌数量

mapper-murmur3

  • murmur3在索引时计算值的哈希值并将它们存储在索引中

mapper-annotated-text

  • annotated-text索引包含特殊标记的文本(通常用于标识命名实体)

过滤器

  • 接受来自query-dsl的查询

连接

  • 为同一索引中的文档定义父/子关系

别名

  • 定义现有字段的别名

排名功能

  • 记录数字特性以提高查询时的命中率。

密集向量

  • 记录浮点值的密集向量。

稀疏向量

  • 记录浮点值的稀疏向量。

按类型搜索

  • 类似文本的字段,为查询进行优化,以实现按类型完成

数组

在Elasticsearch中,数组不需要专用字段数据类型,默认情况下,任何字段都可以包含零个或多个值,但是数组中的所有值必须具有相同的数据类型。

多字段

为不同的目的以不同的方式索引相同的字段通常是有用的,例如,字符串字段可以映射为用于全文搜索的text字段,以及用于排序或聚合的keyword字段,或者,你可以使用标准分析器、英语分析器和法语分析器索引文本字段。

这就是多字段的目的,大多数数据类型通过fields参数支持多字段。


上一篇:删除映射类型

博弈
2.5k 声望1.5k 粉丝

态度决定一切