十分钟入门 mysql8.x InnoDB全文索引

本文详细介绍了如何配置MySQL的ngram_token_size、innodb_ft_min_token_size和ft_min_word_len,指导读者如何创建全文索引,并演示了自然语言模式和BOOLEAN模式的使用。重点在于实践步骤和常见问题解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 配置my.ini

  # 配置全局搜索的分词ngram
    ngram_token_size=1
    innodb_ft_min_token_size = 1
    ft_min_word_len = 1
  • ngram_token_size 官方文档
  • ngram_token_size,innodb_ft_min_token_size,ft_min_word_len 官方文档
  • 配置好后保存重启mysql
  • 注意:如果已经创建索引需重新创建
  1. 创建索引语句
ALTER TABLE 表名称
ADD FULLTEXT INDEX 索引名称 (字段1, 字段2, 字段3)
WITH PARSER ngram;
  1. 简单使用
SELECT * FROM 表名称
WHERE MATCH(字段1, 字段2, 字段3)
AGAINST("查询关键词")
  1. 设置搜索模式,官方文档
  • 自然语言模式(NATURAL LANGUAGE MODE)
    自然语言模式是MySQL 默认的全文检索模式。自然语言模式不能使用操作符,不能指定关键词必须出现或者必须不能出现等复杂查询。
  • BOOLEAN模式(BOOLEAN MODE)
    BOOLEAN模式可以使用操作符,可以支持指定关键词必须出现或者必须不能出现或者关键词的权重高还是低等复杂查询。
    mysql> SELECT * FROM articles WHERE MATCH (title,body)
        AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值