ES关系映射(数据库中的表结构)

ES常见数据类型及用途

1. 基础类型

ES类型 对应MySQL类型 特点 示例场景
text VARCHAR/TEXT 全文分词搜索,默认用标准分词器 商品描述、日志内容
keyword CHAR/VARCHAR 精确匹配,不分词 订单号、标签、枚举值(如状态码)
long BIGINT 64位整数 ID、数量、时间戳
integer INT 32位整数 年龄、评分
short SMALLINT 16位整数 状态码、优先级
byte TINYINT 8位整数 布尔值(0/1)
double DOUBLE 双精度浮点数 价格、地理坐标
float FLOAT 单精度浮点数 评分、百分比
boolean BOOL/TINYINT(1) true/false 是否上架、用户激活状态
date DATETIME/TIMESTAMP 支持多种日期格式 创建时间、订单日期

2. 高级类型

ES类型 特点 示例场景
nested 嵌套对象,独立索引 订单中的商品列表(保留对象关系)
join 父子文档关联 博客文章与评论(1对多)
geo_point 经纬度坐标 附近门店搜索
geo_shape 复杂地理形状(多边形等) 地理围栏
ip IPv4/IPv6地址 安全审计、用户IP分析
completion 自动补全建议 搜索框联想词
murmur3 哈希值存储 去重、指纹校验

3. 特殊类型

ES类型 用途
alias 字段别名(指向实际字段)
flattened 将整个JSON对象映射为单个字段
wildcard 优化通配符查询(如*abc*

你可能感兴趣的:(elasticsearch,数据库,大数据)