中文搜索拓展就不用想了,我是试了不少,最后还是选用了数据库方式。就目前来说,此方法是最稳定的方法,弊端就是一定程度上会影响数据库性能,但也算是完美实现了中文搜索。
—
目前Flarum正式版1-1.5都没问题,其他我没测试。
MySQL 自 5.7 开始支持多语种文字全文索引(所以5.7以下的请先升级)
找到数据库配置文件:
我的配置文件在服务器上的路径:
/etc/my.cnf
在配置文件中加入以下内容:
[mysqld]
ngram_token_size=2
前往 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;
完成!等待一会儿,强制刷新浏览器,查看效果。
—