Flarum 자체는 중국어에 매우 비우호적입니다. 버전이 업데이트되면서 조금씩 중국어에 대한 최적화도 시작되어, 예를 들어 중국어 사용자 이름 등록을 지원하게 되었습니다. 이는确실히 꽤 유용합니다. 그러나 최신 beta11 버전에서도 여전히 중국어 검색 콘텐츠를 지원하지 않습니다. 다행히 MySQL은 5.7부터 중국어와 일본어의 전문 인덱스를 지원하기 시작했습니다.
또한 Flarum 개발자는 향후 버전에서 ElasticSearch 분산형 전문 검색 엔진을 사용할 것이라고 말한 적이 있습니다. ElasticSearch가 이 방법보다 더 좋기 때문이지만, 지금까지도 아직 사용되지 않고 있습니다. 이 방법은 일정 수준에서 데이터베이스 성능에 영향을 줄 수 있으니 유의하시기 바랍니다.
방법
mysql.cnf를 수정하여 다음을 추가합니다.
[mysqld]
ngram_token_size=2
수정한 후에는 FULLTEXT 인덱스를 다시 생성해야 합니다.
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 관리자 페이지에서 캐시를 한 번 삭제하면 중국어 콘텐츠를 검색할 수 있습니다. 게시글 제목과 게시글 내용을 지원합니다.
