AI摘要:本文介绍了使用Docker部署wiki.js知识库系统并配置PostgreSQL支持中文检索的步骤,包括安装需求扩展、下载安装scws和zhparser源码、配置PostgreSQL、Docker部署wiki.js以及配置wiki搜索引擎。
Powered by AISummary.
🟢略过安装PostgreSQL的步骤,请自行安装数据库。
一、安装需求扩展
apt install gcc make wget git -y
二、下载安装scws
wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2
tar -xvf scws-1.2.3.tar.bz2
cd scws-1.2.3/
./configure
make
make install
查看安装目录,返回结果才算安装成功
[root@pve ~]# ls /usr/local/include/scws/
charset.h crc32.h darray.h pool.h rule.h scws.h version.h xdb.h xdict.h xtree.h
三、下载zhparser源码
git clone https://github.com/amutu/zhparser.git
将pg_config加入环境变量
cd zhparser/
export PATH=$PATH:/home/postgres/bin
#编译和安装zhparser
make
make install
四、postgres添加中文检索
登录postgres并进入相应数据库(wiki)内
## wiki=>
CREATE EXTENSION pg_trgm;
CREATE EXTENSION zhparser;
CREATE TEXT SEARCH CONFIGURATION pg_catalog.chinese_zh (PARSER = zhparser);
ALTER TEXT SEARCH CONFIGURATION chinese_zh ADD MAPPING FOR n,v,a,i,e,l WITH simple;
## 忽略标点影响
ALTER ROLE wikijs SET zhparser.punctuation_ignore = ON;
## 短词复合
ALTER ROLE wikijs SET zhparser.multi_short = ON;.
查看chinese_zh
\dF
##返回结果如下,则成功
List of text search configurations
Schema | Name | Description
------------+------------+---------------------------------------
pg_catalog | arabic | configuration for arabic language
pg_catalog | chinese_zh |
##测试一下
select ts_debug('chinese_zh', '白垩纪是地球上海陆分布和生物界急剧变化、火山活动频繁的时代');
五、docker部署wiki.js
docker-compose.yaml示例
version: "3"
services:
wiki:
image: requarks/wiki:2
environment:
DB_TYPE: postgres #数据库类型
DB_HOST: 192.168.8.9 #PostgreSQL数据库地址
DB_PORT: 5432 #PostgreSQL数据库端口
DB_USER: postgres #数据库用户名
DB_PASS: 12345678 #数据库密码
DB_NAME: wiki #数据库名称
restart: unless-stopped
ports:
- "3008:3000"
- "3443:3443"
六、配置wiki搜索引擎
进入wiki容器
vi /wiki/server/modules/search/definition.yml
enum list 添加一个元素
- chinese_zh
登录wiki页面,配置中文搜索