中文搜索拓展就不用想了,我是试了不少,最后还是选用了数据库方式。就目前来说,此方法是最稳定的方法,弊端就是一定程度上会影响数据库性能,但也算是完美实现了中文搜索。
目前Flarum正式版1-1.5都没问题,其他我没测试。
MySQL 自 5.7 开始支持多语种文字全文索引**(所以5.7以下的请先升级)
- 1.找到数据库配置文件:**我的配置文件在服务器上的路径:`/etc/my.cnf
- 2. 在配置文件中加入以下内容:**[mysqld]`ngram_token_size=2
- 3. 前往 phpMyAdmin 重建数据库索引。**分别执行以下两段:
USE YourFlarumDataBaseName; // 这里替换为你的 Flarum 数据库的名字 ALTER TABLE posts DROP INDEX content; // 如果你有表前缀,给 posts 加上前缀即可,下面都是如此。 CREATE FULLTEXT INDEX content ON `posts` (`content`) WITH PARSER ngram; // 注意表前缀 USE YourFlarumDataBaseName; // 这里替换为你的 Flarum 数据库的名字 ALTER TABLE discussions DROP INDEX title; // 注意表前缀 CREATE FULLTEXT INDEX title ON `discussions` (`title`) WITH PARSER ngram;
- 4.完成!等待一会儿,强制刷新浏览器,查看效果。
此方法,引用的这篇帖子:https://discuss.flarum.org/d/22321-improving-search-for-chinese-characters/15