MySQL 中文全文检索

创建索引(MySQL 5.7.6后全文件索引可用WITH PARSER ngram,针对中文,日文,韩文)

sql 复制代码
ALTER TABLE 表 ADD FULLTEXT 索引名 (`字段`) WITH PARSER ngram;

或者

CREATE FULLTEXT INDEX 索引名 ON 表 (`字段`) WITH PARSER ngram;

查询方法

sql 复制代码
select * from 表 where match(字段名) against('关键词');

注意

  • 只能在类型为CHAR、VARCHAR或者TEXT的字段上创建全文索引。
  • 全文索引只支持InnoDB和MyISAM引擎。
  • MATCH()函数使用的字段名,必须要与创建全文索引时指定的字段名一致。
    多个字段索引,如MATCH (title,body) 创建索引字段名也要是(title,body)。如果要对title或者body字段分别进行查询,就需要在title和body字段上分别创建新的全文索引,然后使用and查询。
  • MATCH()函数使用的字段名只能是同一个表的字段,因为全文索引不能够跨多个表进行检索。
  • 如果要导入大数据集,使用先导入数据再在表上创建全文索引的方式要比先在表上创建全文索引再导入数据的方式快很多,所以全文索引是很影响TPS的。
  • 添加索引的时候注意记得加上 WITH PARSER ngram,不然是不会生效的。
相关推荐
闪电麦坤955 分钟前
SQL:MySQL函数:条件函数(Conditional Functions)
数据库·sql·mysql
恪心与java25 分钟前
mysql
数据库·mysql·oracle
范纹杉想快点毕业33 分钟前
以项目的方式学QT开发(三)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!
c语言·开发语言·c++·qt·mysql·算法·命令模式
古拉拉明亮之神1 小时前
Spark处理过程--案例数据清洗
大数据·mysql·spark
后端码匠8 小时前
MySQL 8.0安装(压缩包方式)
android·mysql·adb
欧先生^_^10 小时前
Linux内核可配置的参数
linux·服务器·数据库
问道飞鱼10 小时前
【数据库知识】Mysql进阶-高可用MHA(Master High Availability)方案
数据库·mysql·adb·高可用·mha
tiging10 小时前
centos7.x下,使用宝塔进行主从复制的原理和实践
数据库·mysql·adb·主从复制
wangcheng869910 小时前
Oracle常用函数-日期时间类型
数据库·sql·oracle
zizisuo10 小时前
面试篇:Spring Security
网络·数据库·安全