Flarum 原生 MySQL 支持中文搜索
此办法仅支持MySQL5.7+ 或 MySQL8+ 的版本,如果你使用了 MariaDB 作为数据库,请先更换为 MySQL 再继续如下操作。
- 修改MySQL配置 - [mysqld]
ngram_token_size = 2
 - 修改后请重启MySQL服务器,使配置生效。
 相关命令行
 - # 查看 my.cnf 所在位置
$ whereis my.cnf
my.cnf: /etc/my.cnf
# 查看是否已存在此字段(若无返回行,则不存在)
grep ngram_token_size /etc/my.cnf
# 在 `[mysqld]` 下添加
sed -i '/\[mysqld\]/a ngram_token_size = 2' /etc/my.cnf
# 重载 MySQL
systemctl reload mysql
 
- 重建贴子表索引
 这两组代码要在- Flarum数据库下执行,以重建全文索引。(注意修改自己数据库的- 表前缀)
 - ALTER TABLE discussions DROP INDEX title;
CREATE FULLTEXT INDEX title ON discussions (title) WITH PARSER ngram;
ALTER TABLE posts DROP INDEX content;
CREATE FULLTEXT INDEX content ON posts (content) WITH PARSER ngram;
 
参考文章:https://www.rehiy.com/post/531/