Modstart 开启全文搜索 fulltext

开启全文搜索 fulltext

开启全文索引需要使用 MySQL 版本大于 5.7,由于该配置比较繁琐,所以所有系统默认不支持,需要通过运维手动开启。

全文索引是为了解决需要基于相似度的查询,而不是精确数值比较。

可以通过 SQL 命令查看当前配置的最小搜索长度(分词长度):

SHOW VARIABLES LIKE 'ft%';
变量名描述
ft_boolean_syntax全文搜索的布尔语法
ft_max_word_len最大词长度
ft_min_word_len最小词长度
ft_query_expansion_limit查询扩展限制
ft_stopword_file停用词文件

全文索引的相关参数都无法进行动态修改,必须通过修改 MySQL 的配置文件来完成。修改最小搜索长度的值为 1,首先打开 MySQL 的配置文件 /etc/my.cnf,在 [mysqld] 的下面追加以下内容:

[mysqld]innodb_ft_min_token_size = 1ft_min_word_len = 1

配置完后重启 MySQL 服务器

## 查看索引
SHOW INDEX FROM config;
## 删除全文索引
ALTER TABLE config DROP INDEX xxx;
## 创建全文索引,注意该字段只能创建一个全文索引,多余的使用以上的删除语句删除
ALTER TABLE config ADD FULLTEXT(value) WITH PARSER ngram;

## 使用以下语句测试查询
SELECT `id`,`key`,`value`,MATCH(`value`) AGAINST('测试查询') AS _score
    FROM config
    WHERE MATCH(`value`) AGAINST('测试查询')
    ORDER BY _score DESC;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值