Flarum 중국어 키워드 검색 최적화 지원

21,541 19

Flarum 자체는 중국어에 매우 비우호적입니다. 버전이 업데이트되면서 조금씩 중국어에 대한 최적화도 시작되어, 예를 들어 중국어 사용자 이름 등록을 지원하게 되었습니다. 이는确실히 꽤 유용합니다. 그러나 최신 beta11 버전에서도 여전히 중국어 검색 콘텐츠를 지원하지 않습니다. 다행히 MySQL은 5.7부터 중국어와 일본어의 전문 인덱스를 지원하기 시작했습니다.

또한 Flarum 개발자는 향후 버전에서 ElasticSearch 분산형 전문 검색 엔진을 사용할 것이라고 말한 적이 있습니다. ElasticSearch가 이 방법보다 더 좋기 때문이지만, 지금까지도 아직 사용되지 않고 있습니다. 이 방법은 일정 수준에서 데이터베이스 성능에 영향을 줄 수 있으니 유의하시기 바랍니다.

방법

mysql.cnf를 수정하여 다음을 추가합니다.

INI
[mysqld]
ngram_token_size=2

수정한 후에는 FULLTEXT 인덱스를 다시 생성해야 합니다.

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)
  1. Chrome 79 Windows 10

    mysql.cnf在哪里呀?

    1. Chrome 79 Windows 10

      错误 SQL 查询: ALTER TABLE flarum_posts DROP INDEX content MySQL 返回: 文档 #1146 - Table 'fl.flarum_posts' doesn't exist

  2. QAQ
    Chrome 78 Windows 10

    怎么才能中文注册

    1. Chrome 78 Windows 10

      注册时候显示“用户名只能包含字母、数字及横线 (-)” 不能注册 请问怎么设置?

  3. 木头人
    Chrome 96 Windows 7

    只想夸你,解决了我的问题

  4. Edge 101 Windows 10

    感谢,问题解决了~

  5. 78789797
    Edge 103 Windows 10

    成功了 点赞 好评

댓글 작성

© 2026 근심을 잊는 한 장. 모든 권리 보유.

근심을 잊는 한 장은 기술 탐구와 일상을 다루는 개인 웹사이트입니다. 웹 개발, 백엔드 및 DevOps 실무를 기록하고 소프트웨어 도구와 디지털 경험, 코드 밖의 견문과 생각을 나눕니다.