Elasticsearch核心数据类型
目录
Elasticsearch核心数据类型
个人理解:
1.字符串类型
text:全文检索类型,经过分词处理,支持模糊匹配
keyword:精确匹配类型,适用于聚合、排序和过滤
2.数值类型
整数:byte(8位)、short(16位)、integer(32位)、long(64位)
浮点数:float(32位)、double(64位)、half_float(16位)、scaled_float(带缩放因子的浮点数)
3.逻辑类型
boolean:存储布尔值(true/false)
4.日期类型
date:支持日期时间格式,可指定时区
5.二进制类型
binary:存储Base64编码的二进制数据,默认不可搜索
二、复合数据类型
数组类型
数组元素需为同一类型,如text或keyword数组
对象类型
object:存储JSON对象,支持嵌套字段
nested:处理多值对象(如数组中的对象),支持独立查询
三、地理类型
地理坐标
geo_point:存储经纬度坐标
地理形状
geo_shape:存储复杂地理形状(如多边形)
四、特殊类型
范围类型
range:支持数值、日期或IP地址的范围查询
IP类型
ip:存储IPv4/IPv6地址
令牌计数类型
token_count:统计文本分词后的词频
完成类型
completion:用于自动补全建议
五、其他类型
别名(Alias):为字段创建逻辑别名,不影响实际存储
扁平化类型(flattened):处理动态字段或未知结构,避免映射爆炸
注意事项
动态映射控制:通过dynamic参数(true/false/strict)管理新字段的自动创建
类型转换:数值类型需根据实际范围选择,以优化存储和查询效率