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::
感谢,问题解决了~
不客气
成功了 点赞 好评
感谢支持