当前位置: 首页 > news >正文

ES支持哪些数据类型,和MySQL之间的映射关系是怎么样的?

Elasticsearch(简称 ES)是一个分布式搜索和分析引擎,支持丰富的数据类型来适应不同场景。MySQL 是一个关系型数据库,两者在数据类型上存在差异,但可以通过映射实现数据同步或集成。下面我将逐步解释 ES 支持的数据类型,然后详细说明与 MySQL 的常见映射关系。回答基于 ES 7.x/8.x 和 MySQL 5.7/8.0 版本

1. Elasticsearch 支持的数据类型
  1. Text:用于存储全文文本数据,如文章或者书籍内容,支持全文搜索分析、分词

  2. Keyword:用于存储文本值,常用于索引结构化内容,如邮件地址或需要精准查询匹配的内容
  3. Date:存储日期或者时间,格式如 yyyy-MM-dd HH:mm:ss
  4. Long,Integer,Short,Byte,Double,Float:数值类型
  5. Boolean:存储 true 或 false
  6. Binary:存储二进制数据,如 Base64 编码。
  7. Object:嵌套 JSON 对象。
  8. Nested:用于数组中的对象,保持独立性
2. MySQL 常见数据类型

MySQL 作为关系型数据库,数据类型更结构化,常见包括:

  • 整数:INTBIGINTSMALLINTTINYINT
  • 浮点数:FLOATDOUBLEDECIMAL(精确小数)。
  • 字符串:VARCHAR(变长字符串)、CHAR(定长字符串)、TEXT(长文本)。
  • 日期时间:DATEDATETIMETIMESTAMP
  • 布尔:BOOLEAN(或 TINYINT(1) 模拟)。
  • 二进制:BLOBBINARY
3. ES 与 MySQL 的数据类型映射关系
Mysql类型Elasticsearch 类型说明
VARCHARtext,keyword根据是否需要全文检索或精准检索,选择使用text或者keyword
CHARkeyword用于存储较短,不长变化的字段
BLOB/TEXTtext大文本块使用text类型,支持全文检索
INT,BINTlong多数整数类型映射为long,以支持更大的数值
TINTbyte较小的整数可以映射为byte
DECIMAL,FLOAT,DOUBLEdouble,float根据精准度选择double和float
DATE,DATETIME,TIMESTAMPdate所有的时间类型都可以映射为date
TININT(1)boolean

4.拓展

text和keyword的区别?

text类型被设计用于全文搜索,意味着文本被存储为text类型时,ES会对其进行分词,把文本分解为单独的词语或短语,便于搜索引擎进行全文检索。

适用于存储需要进行全文检索的内容,产品描述,任务描述等

keyword类型是精准值匹配,不进行分词处理,作为整体存储,适用于计数、求和、过滤和排序操作。

http://www.dtcms.com/a/339682.html

相关文章:

  • Vue3 学习教程,从入门到精通,vue3综合案例:“豪华版”待办事项(41)
  • [Polly智能维护网络] 网络重试原理 | 弹性策略
  • PyTorch数据处理工具箱(utils.data简介)
  • UE5 PCG 笔记(一)
  • C++ STL(标准模板库)学习
  • 华为鸿蒙系统SSH如何通过私钥连接登录
  • 传统概率信息检索模型:理论基础、演进与局限
  • 短剧小程序系统开发:打造沉浸式短剧观影体验
  • EPM240T100I5N Altera FPGA MAX II CPLD
  • Spring Cache 整合 Redis 实现高效缓存
  • idea如何设置tab为4个空格
  • 复习登录校验流程:会话跟踪技术与请求拦截方案详解
  • SpringBoot-集成POI和EasyExecl
  • 《Light Sci Appl》突破:vdW材料实现亚波长光学涡旋生成,转换效率达46%
  • 前端基础知识操作系统系列 - 01(操作系统的理解?核心概念有哪些)
  • Spring Ai Prompts
  • 佰力博检测与您探讨电晕极化时有时会击穿是什么原因
  • 海洋牧场智能化监控系统升级,保障养殖安全
  • Web3.0 时代的电商系统:区块链如何解决信任与溯源问题?
  • 嵌入式系统学习Day19(数据结构)
  • 用poll改写select
  • 网站频繁遭遇SQL注入、XSS攻击该怎么办?
  • 分布式搜索(Elasticsearch)深入用法
  • git 创用操作
  • java快速接入mcp以及结合mysql动态管理
  • 【SQL优化案例】统计信息缺失
  • 前端使用koa实现调取deepseekapi实现ai聊天
  • RabbitMQ:SpringAMQP Fanout Exchange(扇型交换机)
  • Apache ECharts 6.0.0 版本-探究自定义动态注册机制(二)
  • HTML5视频加密播放的主要优势