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:如何将 Strava 数据导入 Elastic Stack