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

【MySQL精通之路】全文搜索(5)-限制

 主博客:
【MySQL精通之路】全文搜索功能-CSDN博客


全文搜索仅支持InnoDB和MyISAM表。

分区表不支持全文搜索。参见“分区的限制和限制”。

全文搜索可用于大多数多字节字符集

例外的是,对于Unicode,可以使用utf8mb3或utf8mb4字符集,但不能使用ucs2字符集。

尽管不能对ucs2列使用FULLTEXT索引,但可以对没有此类索引的ucs2列执行IN BOOLEAN MODE搜索。

utf8mb3的备注也适用于utf8mb4,ucs2的备注也应用于utf16、utf16le和utf32。

表意文字语言,如汉语和日语,没有单词分隔符。

因此,内置的全文解析器无法确定这些语言和其他此类语言中的单词的开头和结尾。

提供了一个支持中文、日语和韩语(CJK)的基于字符的ngram全文解析器,以及一个支持日语的基于单词的MeCab解析器插件,用于InnoDB和MyISAM表。


尽管支持在单个表中使用多个字符集,但FULLTEXT索引中的所有列都必须使用相同的字符集和排序规则。

MATCH()列列表必须与表的某些FULLTEXT索引定义中的列列表完全匹配,除非此MATCH(在MyISAM表上处于BOOLEAN模式。对于MyISAM表,可以在无索引列上进行布尔模式搜索,尽管搜索速度可能较慢。

AGINST()的参数必须是在查询求值期间为常量的字符串值。例如,这排除了表列,因为每行的列可能不同。

从MySQL 8.0.28开始,MATCH()的参数不能使用汇总列。

与非FULLTEXT搜索相比,FULLTEXT检索的索引提示更受限制。参见“索引提示”。

对于InnoDB,所有涉及具有全文索引的列的DML操作(INSERT、UPDATE、DELETE)都在事务提交时处理。例如,对于INSERT操作,插入的字符串被标记化并分解为单个单词。然后,当事务被提交时,各个单词被添加到全文索引表中。因此,全文搜索只返回提交的数据。

“%”字符不是全文搜索支持的通配符。

http://www.lryc.cn/news/358192.html

相关文章:

  • 动态规划part03 Day43
  • Activity->Activity生命周期和启动模式
  • 浅谈网络安全态势感知
  • cesium本地文档-天空盒-arcgis切片404-服务查询
  • OpenMv图片预处理
  • Springboot 实战运用
  • kafka的安装与简单使用
  • 【服务器部署篇】Linux下Node.js的安装和配置
  • 【OrangePi AIpro】香橙派 AIpro 为AI而生
  • AES算法
  • 自主创新助力科技强军,麒麟信安闪耀第九届军博会
  • Android Retrofit 封装模版
  • 【介绍下运维开发】
  • mybatis-plus中多条件查询使用and合or嵌套使用
  • 前端加密的方式汇总
  • ELT 同步 MySQL 到 Doris
  • 100个 Unity小游戏系列七 -Unity 抽奖游戏专题五 刮刮乐游戏
  • 链游:区块链技术的游戏新纪元
  • 格式化字符串
  • 错误信息:Traceback (most recent call last):
  • Thinkphp3.2.3网站后台不能访问如何修复
  • Golang 如何使用 gorm 存取带有 emoji 表情的数据
  • 计算机算法中的数字表示法——原码、反码、补码
  • BGP策略实验
  • 目标检测 | R-CNN、Fast R-CNN与Faster R-CNN理论讲解
  • 【busybox记录】【shell指令】mkdir
  • SQL刷题笔记day6-1
  • KITTI数据中pose含义
  • C++模拟实现stack和queue
  • awtk踩坑记录一:awtk-web build.py编译过程笔记