es 5.x的基本数据类型

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011066470/article/details/88761175

字段类型概述

一级分类 二级分类 具体类型

核心类型 字符串类型 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图片格式:jpg, png, bmp等

文档格式:doc, docx, xls, xlsx, ppt, pptx, pdf, txt, csv

压缩格式:rar, zip

ELasticsearch 5.X之后的字段类型不再支持string,由text或keyword取代。 如果仍使用string,会给出警告。

 

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

 

2.keywordkeyword类型适用于索引结构化的字段,比如email地址、主机名、状态码和标签。

如果字段需要行过滤(比如查找已发布博客中status属性为published的文章)、排序、聚合。

keyword类型的字段能通过精确值搜索到。keyword不分词

3.数值类型

long -2^63至2^63-1

integer -2^31至2^31-1

short -32,768至32768

byte -128至127

double 64位双精度IEEE 754浮点类型

float 32位单精度IEEE 754浮点类型

half_float 16位半精度IEEE 754浮点类型

scaled_float 缩放类型的的浮点数(比如价格只需要精确到分,price为57.34的字段缩放因子为100,存起来就是5734)

4.date类型

JSON中没有日期类型,所以在ELasticsearch中,日期类型可以是以下几种:

1.日期格式的字符串:e.g. “2015-01-01” or “2015/01/01 12:10:30”.

2.long类型的毫秒数( milliseconds-since-the-epoch)

3.integer的秒数(seconds-since-the-epoch)

5.数组类型

ELasticsearch没有专用的数组类型,默认情况下任何字段都可以包含一个或者多个值,但是一个数组中的值要是同一种类型。例如:

1.字符数组: [ “one”, “two” ]

2.整型数组:[1,3]

3.嵌套数组:[1,[2,3]],等价于[1,2,3]

4.对象数组:[ { “name”: “Mary”, “age”: 12 }, { “name”: “John”, “age”: 10 }]

注意事项:

动态添加数据时,数组的第一个值的类型决定整个数组的类型

混合数组类型是不支持的,比如:[1,”abc”]

数组可以包含null值,空数组[ ]会被当做missing field对待。

6.range类型

integer_range -2^31至2^31-1

float_range 32-bit IEEE 754

long_range -2^63至2^63-1

double_range 64-bit IEEE 754

date_range 64位整数,毫秒计时

猜你喜欢

转载自blog.csdn.net/u011066470/article/details/88761175
今日推荐