Flarum实现中文搜索,算是目前最稳的方法

俣辰 0

中文搜索拓展就不用想了,我是试了不少,最后还是选用了数据库方式。就目前来说,此方法是最稳定的方法,弊端就是一定程度上会影响数据库性能,但也算是完美实现了中文搜索。


Flarum实现中文搜索,算是目前最稳的方法

目前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

发表评论 取消回复
图片 链接