ElasticSearch学习(二)数据类型

ElasticSearch学习(二)数据类型,第1张

ElasticSearch学习(二)数据类型 一、类型概述

二、核心类型 一.字符串类型 1、keyword

使用keyword类型的字段,其不会被分析,给什么值就原封不动地按照这个值索引,所以关键字字段只能按其确切值进行搜索,通常用于过滤、排序和聚合。

2、text

当一个字段是要被全文搜索的,比如Email内容、产品描述,应该使用text类型。设置text类型以后,字段内容会被分析,在生成倒排索引以前,字符串会被分析器分成一个一个词项。text类型的字段不用于排序,很少用于聚合。

3、string(已经弃用)

string类型在ElasticSearch 旧版本中使用较多,从ElasticSearch 5.x开始不再支持string,由text和keyword类型替代。

二.整数类型

在满足需求的情况下,尽可能选择范围小的数据类型,字段的长度越短,索引和搜索的效率越高。

1、long 2、integer 3、short 4、byte 三.浮点类型

不同精度的浮点数

1、double 2、floar 3、half_float 4、scaled_float 四.逻辑类型:boolean类型

逻辑类型(布尔类型)可以接受true/false/”true”/”false”值

五.日期类型:data

JSON中没有date类型,es中的date可以由下面3种方式表示:

  1. 格式化的date字符串,例如"2018-01-01"或者"2018-01-01 12:00:00"
  2. 一个long型的数字,代表从1970年1月1号0点到现在的毫秒数
  3. 一个integer型的数字,代表从1970年1月1号0点到现在的秒数
六.范围类型

具有大小关系的一个值区间,所以会用到gt、gte、lt、lte…等逻辑表示符。ES支持下面6种范围数据类型:

1、integer_range

integer_range,带符号的32位整数区间,最小值-231,最大值231-1

2、long_range

带符号的64位整数区间,最小值-263,最小值263-1

3、float_range

float_range,单精度32位IEEE 754浮点数区间

4、double_range

double_range,双精度64位IEEE 754浮点数区间

5、date_range

date_range,日期值范围,表示为系统纪元以来经过的无符号64位整数毫秒

6、ip_range

ip_range,支持IPv4或IPv6(或混合)地址ip值范围

七.二进制类型:binary

二进制字段是指用base64来表示索引中存储的二进制数据,可用来存储二进制形式的数据,例如图像。默认情况下,该类型的字段只存储不索引。二进制类型只支持index_name属性。

三、复合类型 一.数组类型array

数组类型。默认情况下,任何字段都可以包含零个或多个值,当包含多个值时,它就表示array datatype了。但是,数组中的所有值必须具有相同的数据类型(要么同为字符串,要么同为整型,不能数组中一些值为字符串,另一些值为整型)。

{
"intList":[1,2,3,4,5],
"stringList":["a","b","c"]
}

使用array datatype,不需要预先配置,它们是开箱即用的。(不像整型,它需要手动定义type: “integer”)
使用_mapping查看索引的映射类型时,array datatype不会被写出来,还是以数组的元素的基本类型来表示
图片链接

二.对象类型object

object其实也是嵌套的类型,外部是一个JSON对象,里面包含了一个内部对象。
图片链接

只要字段的数据类型是object datatype,它就会有一个properties映射,该映射罗列出该字段的内部对象字段,然后内部对象再定义其每个字段的数据类型。

三.嵌套类型nested 四、地理类型(我没用过,了解即可) 一.地图坐标类型geo-point

geo-point datatype,地址位置数据类型,可以用来表示经纬度。

二.地理地图geo-shape

geo-shape datatype,即地理形状数据类型,当被索引的数据包含除地理点之外的形状(如长方形、圆形…)时,使用此数据类型。geo-shape映射将GeoJSON(一种对各种地理数据结构进行编码的格式)映射到geo-shape类型。

五、特殊类型

待补充

一.IP类型 二.范围类型 三.令牌计数类型 四.附件类型 五.抽取类型

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4684227.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-07
下一篇 2022-11-07

发表评论

登录后才能评论

评论列表(0条)

保存