Flarum 支援中文關鍵字搜尋優化
21,541 19
Flarum 本身對中文就很不友善,隨著版本迭代,慢慢也開始對中文進行了優化,比如支援中文使用者名稱註冊,這個確實是挺有用的。然而最新的 beta11 版本,卻還是不支援中文搜尋內容,好在 MySQL 自 5.7 開始支援中文、日文的全文索引。
另外,Flarum 開發者也曾說過,在將來的版本會使用 ElasticSearch 分散式全文搜尋引擎,因為 ElasticSearch 比此方法好,但直到現在也沒有用上。請注意,此方法會在一定程度上影響資料庫效能。
方法
修改 mysql.cnf,加入:
INI INI
[mysqld]
ngram_token_size=2
修改後需要重建 FULLTEXT 索引:
SQL SQL
ALTER TABLE flarum_posts DROP INDEX content;
CREATE FULLTEXT INDEX content ON `flarum_posts` (`content`) WITH PARSER ngram;
ALTER TABLE flarum_discussions DROP INDEX title;
CREATE FULLTEXT INDEX title ON `flarum_discussions` (`title`) WITH PARSER ngram;
重建好之後到 Flarum 後臺清除一下快取,然後就可以搜尋中文內容了,支援文章標題和文章內容。

評論
(19)mysql.cnf在哪里呀?
宝塔面板的在 /etc/my.cnf
ok,谢谢
重建 FULLTEXT 索引是什么意思?不太懂呢
就是重新建立全文索引
在哪里建立?
<img src="https://img.8b5.cn/2020/02/18/b11828946fb73.png" style="height:100px;width:200px;"/>
错误 SQL 查询: ALTER TABLE flarum_posts DROP INDEX content MySQL 返回: 文档 #1146 - Table 'fl.flarum_posts' doesn't exist
你的数据表前缀是不是flarum_
哦哦,我懂了
怎么才能中文注册
beta11已支持中文用户名
注册时候显示“用户名只能包含字母、数字及横线 (-)” 不能注册 请问怎么设置?
只想夸你,解决了我的问题
客气了 ::aru:proud::
感谢,问题解决了~
不客气
成功了 点赞 好评
感谢支持