再谈Flarum支持中文搜索
其实这已经是个很老的问题,至今仍然存在。这里发文不仅是要写下解决办法,更是要提醒大家:这个办法仅支持MySQL5.7+
或MySQL8+
的版本,如果你使用了MariaDB
作为数据库,请先更换为MySQL
再继续如下操作。
- 修改MySQL配置
修改后请重启MySQL服务器,使配置生效。
[mysqld]
ngram_token_size = 2
- 重建贴子表索引
这两组代码要在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;