중국어·일본어·한국어 검색
Entry, Professional, Enterprise, Enterprise Advanced 플랜에서 사용할 수 있습니다.
Mattermost v11.5부터는 기능 플래그 MM_FEATUREFLAGS_CJKSEARCH로 중국어·일본어·한국어(CJK) 문자 검색을 활성화할 수 있습니다.
서버 게시물이 250만 건에 도달하면 Elasticsearch 또는 Opensearch를 사용하라는 일반 권장 사항은 여전히 유효합니다.
아래 내용은 MySQL이 아직 지원되던 v11 이전 버전에 필요한 특별 구성입니다.
이 언어들의 검색을 설정하는 방법은 데이터베이스 요구 사항 문서를 참고하세요.
아래는 언어별로 데이터베이스를 구성하는 방법에 관한 추가 정보입니다.
中文 / 중국어
Mattermost 8.0 업데이트 이후 더 나은 성능을 위해 백엔드 데이터베이스로 PostgreSQL을 사용할 것을 공식적으로 권장합니다.
다만 현재로서는 MySQL을 사용하는 편이 중국어 전문 검색 기능을 구현하기가 더 쉽습니다. ngram을 적절히 구성한 뒤 공식 데이터베이스 구조에 따라 색인을 다시 생성하면 됩니다. 구체적인 방법은 Cannot search CJK contents를 참고하세요.
PostgreSQL 구성 방법은 다음 절차를 참고하세요.
SCWS 구성
# 取得 SCWS 代码
wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2
# 解压缩
tar xvjf scws-1.2.3.tar.bz2
# 进入解压后的目录
cd scws-1.2.3
# 执行配置脚本、编译并安装
./configure --prefix=/usr/local/scws ; make ; make install
# 可选:检查文件是否存在
ls -al /usr/local/scws/lib/libscws.la
/usr/local/scws/bin/scws -h
# 可选:将词典安装在 /usr/local/scws/etc 中
cd /usr/local/scws/etc
wget http://www.xunsearch.com/scws/down/scws-dict-chs-gbk.tar.bz2
wget http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2
tar xvjf scws-dict-chs-gbk.tar.bz2
tar xvjf scws-dict-chs-utf8.tar.bz2
Zhparser 구성
# 下载 Zhparser 源代码
git clone https://github.com/amutu/zhparser.git
# 进入下载后的目录
cd zhparser
# 编译并安装
SCWS_HOME=/usr/local/scws make && make install
Mattermost 6.0부터는 mattermost/mattermost-prod-db를 데이터베이스 이미지로 사용하지 않습니다. 서버에 직접 설치한 PostgreSQL 데이터베이스를 사용하거나 PostgreSQL 공식 Docker 이미지를 사용하면 됩니다.
데이터베이스로 Docker 이미지를 사용한다면 다음 명령을 미리 실행해 의존성을 설치할 수 있습니다(실제 PostgreSQL 버전에 맞춰 선택하세요).
# 更新本地缓存
apt update
# 配置 SCWS 时需要的依赖
apt install wget make gcc
# 配置 Zhparser 时需要的依赖
apt install git postgresql-server-dev-13
extension 생성 및 파서 구성 추가
-- 创建 extension
CREATE EXTENSION zhparser;
-- 创建 text search configuration
CREATE TEXT SEARCH CONFIGURATION simple_zh_cfg (PARSER = zhparser);
-- 配置 token mapping
ALTER TEXT SEARCH CONFIGURATION simple_zh_cfg ADD MAPPING FOR n,v,a,i,e,l WITH simple;
PostgreSQL 구성 갱신
postgresql.conf의 default_text_search_config 값을 simple_zh_cfg로 변경합니다.
변경한 뒤에는 데이터베이스를 재시작해야 적용됩니다.
구성을 마친 뒤에는 Mattermost 공식 저장소의 SQL 테이블 생성문에 따라 색인을 다시 만들어야 중국어 전문 검색 기능이 정식으로 활성화됩니다.
더 자세한 내용은 다음 링크를 참고하세요.
- SCWS 공식 문서
- Zhparser 공식 문서
- Mattermost 테이블 생성문
日本語 / 일본어
일본어 번역 개선은 언제나 환영합니다. 자유롭게 수정해 주세요.
검색 설정
Mattermost에서 일본어 검색을 하려면 데이터베이스 설정을 변경해야 합니다.
일본어(CJK) 검색 설정 문서 개선에도 협력해 주시기 바랍니다.
가이드
Qiita에서 Mattermost 설치 및 구성 가이드를 제공하고 있습니다. 자세한 내용은 이곳을 확인하세요.
한국어 / Korean
이 문제에 대한 논의는 이 이슈에서 시작되었습니다.
한국어 버전 이용 시 문제점을 발견하면 Localization 채널 또는 한국어 채널에서 의견을 제시할 수 있습니다.
검색을 위한 데이터베이스 설정
PostgreSQL: PostgreSQL 데이터베이스에서는 따로 설정이 필요하지 않습니다.
MySQL: MySQL에서는 전문 검색(Full-text search) 기능에 제한이 있기 때문에 추가적인 작업이 필요합니다.
MySQL 해결 방법
- n-gram parser를 이용하기 위해서는 MySQL의 버전이 5.7.6 이상이어야 합니다.
- MySQL의 구성 파일에서 n-gram의 최소 토큰 크기를 다음과 같이 설정합니다.
[mysqld]
ft_min_word_len = 2
innodb_ft_min_token_size = 2
- 데이터베이스를 재시작합니다. (이 과정은 반드시 필요합니다.)
- 일부 테이블의 전문 검색 색인을 다음과 같이 재구성합니다.
- 게시물 검색을 위한 설정 ( 참조 )
DROP INDEX idx_posts_message_txt ON Posts;
CREATE FULLTEXT INDEX idx_posts_message_txt ON Posts (Message) WITH PARSER ngram;
- 해시 태그 검색을 위한 설정 ( 참조 )
DROP INDEX idx_posts_hashtags_txt ON Posts;
CREATE FULLTEXT INDEX idx_posts_hashtags_txt ON Posts (Hashtags) WITH PARSER ngram;
- 사용자 검색을 위한 설정
Users.idx_users_txt_all과Users.idx_users_names_all을 n-gram 없이 재구성합니다.