DataLearner 标志DataLearnerAI
最新AI资讯
大模型评测
大模型列表
大模型对比
资源中心
AI工具导航

加载中...

DataLearner 标志DataLearner AI

专注大模型评测、数据资源与实践教学的知识平台,持续更新可落地的 AI 能力图谱。

产品

  • 评测榜单
  • 模型对比
  • 数据资源

资源

  • 部署教程
  • 原创内容
  • 工具导航

关于

  • 关于我们
  • 隐私政策
  • 数据收集方法
  • 联系我们

© 2026 DataLearner AI. DataLearner 持续整合行业数据与案例,为科研、企业与开发者提供可靠的大模型情报与实践指南。

隐私政策服务条款
  1. 首页/
  2. 博客列表/
  3. 博客详情

MySQL启用中文全文检索功能

2018/05/09 08:53:54
3,496 阅读
MySQL全文检索

MySQL支持对文本进行全文检索,全文检索可以类似搜索引擎的功能,相比较模糊匹配更加灵活高效且更快。MySQL5.7之后也支持对中文的全文检索,这里描述如何启用MySQL的中文全文检索。

首先,MySQL启用全文检索要对字段加全文检索的索引,注意,一个表只能建立一个全文检索字段,如需要检索多个字段,需要将多个字段一起建立索引,单独建立多个索引是无效的。所以建立方法如下:

ALTER TABLE `localgo`.`entity` ADD FULLTEXT INDEX `entity_info` (`entity_name`, `entity_introduction`) WITH PARSER ngram;

MySQL5.7支持对中文进行全文检索,其自带了内部的切词系统,默认切词系统的字段是4,但中文一般是两个字组成一个单词,因此需要改变。首先看一下内部切词的长度

 SHOW VARIABLES LIKE 'ft_min_word_len';
 SHOW VARIABLES LIKE 'ft%'; 

发现结果都是4,下面更改数据库配置,在[client]下加上ft_min_word_len = 2,在[mysqld]下加上另两行。如下所示,注意,一般情况下这两个配置下都含有其他设置,这里省去了,只需要在这两个配置的末尾加上如下内容即可,不要删除之前的配置。

[mysqld]
ft_min_word_len = 2
ngram_token_size=2

[client]
ft_min_word_len = 2

最后,用如下语句即可支持MySQL对中文进行全文检索了(注意检索词需要放在星号之间,支持空格或者分号作为关键词分隔符)。

SELECT * FROM localgo.entity WHERE MATCH(`entity_name`,`entity_introduction`) AGAINST('*程序*' IN BOOLEAN MODE);

DataLearner 官方微信

欢迎关注 DataLearner 官方微信,获得最新 AI 技术推送

DataLearner 官方微信二维码
返回博客列表

相关博客

  • MySQL8授权用户远程连接失败,提示ERROR 1410 (42000): You are not allowed to create a user with GRANT
  • R语言数据库操作(不定时更新)
  • sqoop将mysql数据导入到hive指定的数据库中
  • Lucene的使用
  • Lucene简介及其使用
  • Lucene热备份

热门博客

  • 1Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)
  • 2回归模型中的交互项简介(Interactions in Regression)
  • 3贝塔分布(Beta Distribution)简介及其应用
  • 4矩母函数简介(Moment-generating function)
  • 5普通最小二乘法(Ordinary Least Squares,OLS)的详细推导过程
  • 6使用R语言进行K-means聚类并分析结果
  • 7深度学习技巧之Early Stopping(早停法)
  • 8手把手教你本地部署清华大学的ChatGLM-6B模型——Windows+6GB显卡本地部署