mysql的全文索引
如果你想在 u_record
表中对 content
字段进行“中文两个字”的模糊匹配,比如想查包含 “全文” 或 “索引” 这样的词语,推荐方式是使用 ngram
分词器 + FULLTEXT 索引,效果类似于 %xx%
的模糊匹配,但性能更好。
✅ 一步步实现:
✅ 1. 确保使用的是 MySQL 5.7+ / 8.0+
并且 InnoDB 引擎支持全文索引(MySQL 5.6+ 开始支持,但推荐用 8.0)
✅ 2. 创建全文索引 + 使用 ngram 分词器(适配中文)
🔧 默认
ngram_token_size
是 2,表示以“两个字”为一个最小单位切词,非常适合你现在的需求(“查两个字”)
✅ 3. 进行模糊查询(用 MATCH ... AGAINST)
比如查包含“全文”这两个字的记录:
也可以换成布尔模式(效果略不同):