Elasticsearch常见字段类型
elasticsearch常见字段类型
- 字段类型概述
一级分类 二级分类 具体类型
核心类型 字符串类型 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
字符串类型:
- text
文本类型,在索引文件中,存储的不是原字符串,而是使用分词器对内容进行分词处理后得到一系列的词根,然后一一存储在index的倒排索引中(会分词)。
- keyword
关键字类型,将原始输入内容当成一个词根存储在倒排索引中,与text字段的区别是该字段不会使用分词器进行分词(不会分词)。
数字类型:
- long
取值范围: -2^63~2^63-1。 - integer
取值范围:-2^31~2^31-1。 - short
取值范围:-32,768~32,767。 - byte
取值范围:-128~127。 - double
64位双精度IEEE 754浮点类型。 - float
32位单精度IEEE 754浮点类型。 - half_float
16位半精度IEEE 754浮点类型。 - scaled_float
缩放类型的的浮点数。
逻辑类型:
- boolean
其取值为"true"、"false"、true、false。
日期类型:
- date
日期格式的字符串:e.g. "2015-01-01" or "2015/01/01 12:10:30"。
long类型的毫秒数( milliseconds-since-the-epoch),表示从1970-01-01以来的毫秒数。
integer的秒数(seconds-since-the-epoch),表示从1970-01-01以来的秒数。
范围类型:
- range
integer_range
float_range
double_range
date_range
ip_range
二进制类型:
- binary
该类型可以用来存储二进制数据,存储之前,需要先用Base64进行编码码。该字段类型默认不存储在索引中(store=false,但该值还是会存储在_source字段中),默认是不能用来当搜索条件。
数组类型:
- array
不需要使用额外的类型定义,定义的类型为:keyword,在索引时是直接支持数组的。
对象类型
- object
对象或json对象字符串。
嵌套类型
- nested
嵌套数据类型,用于关联查询。
地理类型
- geo_point
地图坐标;存储经纬度。
地理地图
- geo_shape
方便了对任意地理形状(如矩形和多边形)进行索引和搜索
ip类型
- ip
可以存储和索引ipv4、ipv6的IP地址。
范围类型
- completion
优化在查找时输入自动补全而设计的类型。
令牌计数类型
- token_count
接收一个字符串经过分析后将返回词根的个数。
附件类型
- attachment
支持附件索引。
抽取类型
- percolator
将搜索条件作为文档进行存储。当存储数据时,索引会将此搜索条件的文档处理为可执行形式,并将其保存以备后用。
赠人玫瑰,手有余香,如果我的文章有幸能够帮到你,麻烦帮忙点下右下角的推荐,谢谢!
作者: imcati
出处: https://www.cnblogs.com/imcati/>
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接