elasticsearch字段类型
elasticsearch支持一系列的数据类型
字符串类型:字符串分为全文本text和关键字keyword两种格式
全文本:用于基于文本的相关性搜索,可以进行分词,基本不用于排序且很少用于聚合,如果一个字段是要被全文搜索的,应该使用text类型
1
"full_name":{"type":"text"}
关键字:关键字是一个精确值,通常用于过滤、排序、参与聚合,不进行分词,适用于索引结构化的字段,只能通过精确值搜索到
1
"tags": {"type": "keyword"}
数字类型:long, integer, short, byte, double, float, half_float, scaled_float
日期类型:date
布尔类型:boolean
二进制类型:binary
范围类型:integer_range, float_range, long_range, double_range, date_range, ip_range
数组类型: array
对象类型:object,使用单独的json对象
嵌套类型:nested,json对象的数组,可以让对象数组独立索引和查询
地理点类型:geo_point,经纬点
地理形状类型:geo_shape,多边形的复杂地理形状
IP类型:ip,协议为IPV4和IPv6的地址
完成类型:completion,提供自动补全的建议
单词计数类型:token_count,统计字符串中的单词数量
父子类型:join,用于同一索引下创建父子关系文档