Elasticsearch 数据类型系列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch 数据类型系列相关的知识,希望对你有一定的参考价值。

参考技术A long, integer, short, byte, double, float 等

date

由于 JSON 中没有日期类型,所以 es 中的日期类型形式就比较多样
例如

es 内部将时间转为 UTC,然后将时间按照 millseconds-since-the-epoch 的长整型来存储

boolean

JSON 中的 “true”、“false”、true、false 都可以

binary

二进制接受的是 base64 编码的字符串,默认不存储,也不可搜索

指定范围的时,可以使用 gt、gte、lt、lte。

数组中的元素必须是同一种类型,添加数组时,数组中的第一个元素决定了整个数组的类型
数组类型(Array datatype):数组类型不需要专门指定数组元素的type,例如:
字符型数组: [ "one", "two" ]
整型数组:[ 1, 2 ]
数组型数组:[ 1, [ 2, 3 ]] 等价于[ 1, 2, 3 ]
对象数组:[ "name": "Mary", "age": 12 , "name": "John", "age": 10 ]

使用场景:

分为两大类:地理坐标,地理形状

创建时指定字段类型,存储的时候,有四种方式:

推荐一个在线经纬度转哈希工具 http://www.geohash.cn/

指定 geo_shape 类型:

添加文档时需要指定具体的类型:

如果是 linestring,如下:

添加文档:

搜索文档:

统计字符串分词后的词项个数。

相当于新增了 title.length 字段用来统计分词后词项的个数
添加文档:

可以通过 token_count 去查询:

以上是关于Elasticsearch 数据类型系列的主要内容,如果未能解决你的问题,请参考以下文章

Elastic实战:彻底解决spring-data-elasticsearch日期时间类型数据读取报错问题

elasticSearch-mappings(映射,分析)

Elasticsearch:如何将 Strava 数据导入 Elastic Stack

Elasticsearch:如何将 Strava 数据导入 Elastic Stack

ElasticSearch系列二 ES基本使用及文档

Elastic Search 基本操作