赞
踩
字段类型概述
一级分类 二级分类 具体类型
核心类型 字符串类型 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.keyword:keyword类型适用于索引结构化的字段,比如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位整数,毫秒计时
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。