Wiki JS 中文搜索
引子
Wiki JS 推荐使用 PostgreSQL 作为默认数据库,但是其 PostgreSQL 的词典配置中是没有 Chinese 选项的。
由于是第一次接触PostgreSQL,经过一番调查,发现官方的 PostgreSQL 镜像是没有中文断词支持的。为了解决这个问题,需要自己编译中文断词插件,我选择的是 pg_jieba。由于是 Docker 环境,因此还需要生成一个 Docker 镜像。
项目和镜像已经开源,请前往我的 GitHub:
https://github.com/lesca/postgres-jieba
用法
1. 配置容器
version: "3"
services:
db:
image: lesca/postgres-jieba
container_name: wiki_db
environment:
POSTGRES_DB: wiki
POSTGRES_PASSWORD: "xxx"
POSTGRES_USER: xxx
logging:
driver: "none"
restart: unless-stopped
volumes:
- ./dbdata/:/var/lib/postgresql/data
wiki:
image: requarks/wiki:2
container_name: wiki
depends_on:
- db
environment:
DB_TYPE: postgres
DB_HOST: db
DB_PORT: 5432
DB_USER: xxx
DB_PASS: "xxx"
DB_NAME: wiki
restart: unless-stopped
ports:
- "3000:3000"
- "3443:3443"
# pgadmin - postgresql database explorer
# use only if you want to edit the database
pgadmin:
image: dpage/pgadmin4
container_name: wiki_pgadmin
depends_on:
- db
environment:
PGADMIN_DEFAULT_EMAIL: xxx@xxx.com
PGADMIN_DEFAULT_PASSWORD: xxx
restart: unless-stopped
ports:
- "14080:80"
2. 配置 Wiki
- 进入 wiki 后台 – 搜索引擎 – 选择“Database – PostgreSQL” – 选择 simple,应用
- 用
pgadmin
连接数据库,找到表searchEngines
,扎到属性postgres
将值{"dictLanguage":"simple"}
改为{"dictLanguage":"jiebacfg"}
- 进入 wiki 后台 – 搜索引擎。这时选项为空,不用管它。点击“重建索引”
注意事项
- pgadmin 仅临时用于修改数据库,用完后记得将其关闭(注释掉即可)。
- 修改后,引擎配置选项为空,不用管它,可以随时改回去。每次更改都要重新索引。
参考
[1] 我与尼古拉斯的讨论
版权声明
本文出自 Lesca 技术宅,转载时请注明出处及相应链接。
本文永久链接: https://www.lesca.cn/archives/wiki-js-chinese-search-jieba.html