wiki多个文件一起导入_wiki.js 使用 postgres 支持中文全文检索
之前一直使用 Typora 做知识管理,优点是
缺点是
它作为 wiki 的前置处理还是很好用的。配合网盘,多设备同步,个人使用很香。但涉及到分享和权限管理就很头疼,处理这些问题还是需要专业的 wiki 系统。作为一个 wiki 系统,必须支持全文检索才能用。之前捐款的 wiki.js(颜值高) 2.0 版本后支持全文检索,同时也支持 markdown 编辑。这样在 typora 写好后,可以将经常需要查询知识放入 wiki.js 中。
部署后发现 wiki.js 支持的 postgres 全文检索不支持中文,给它单独配个 ES 又怕家里的 NAS 吃不消,折腾了一天终于让 wikijs 支持中文全文检索了。
先准备一个支持中文检索的 postgres,我直接使用了一个带 zhparser 插件的 postgres 镜像,比较新的镜像是
abcfy2/docker_zhparser: A source repo of Postgres Chinese full-test search docker image, based on zhparser.
选好对应的 postgres 版本后,部署,进入 postgres console 创建 wikijs 的 USER 和 DATABASE
sudo su - postgres # bash/切换成 psql -- 为postgres用户 生成一个密码 password postgres CREATE USER wikijs WITH PASSWORD 'wikijs'; # 生成用户 CREATE DATABASE wikijs_db OWNER wikijs; # 生成数据库 GRANT ALL PRIVILEGES ON DATABASE wikijs_db to wikijs; ALTER USER wikijs WITH SUPERUSER;退出 session,重新连入 wikijs_db 数据库,设置中文全文检索
psql -U wikijs -d wikijs_db -- https://docs.requarks.io/en/search/postgres 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;-- [二、PostgerSQL全文检索系统之中文支持_jjj的博客-CSDN博客]( -- https://blog.csdn.net/weixin_40746796/article/details/89209316 -- ) -- 忽略标点影响 ALTER ROLE wikijs SET zhparser.punctuation_ignore = ON; -- 短词复合 ALTER ROLE wikijs SET zhparser.multi_short = ON;-- 看看 chinese_zh 在不在 dF -- 测试一下 select ts_debug('chinese_zh', '白垩纪是地球上海陆分布和生物界急剧变化、火山活动频繁的时代');退出 session,重新连入 postgres 数据库,关闭 wikijs superuser权限
psql -U postgres -d postgres ALTER USER wikijs WITH NOSUPERUSER;docker 部署一个 wiki.js,环境变量填好,开启后进入容器 console,将 /wiki/server/modules/search/postgres/definition.yml 中的 enum list 添加一个元素 chinese_zh
enum:...- turkish- chinese_zh重启容器,打开 wiki.js 管理 | 搜索引擎 | Database - PostgreSQL | Dictionary Language 选 chinese_zh。
改好后在入口试试全文检索吧,enjoy!
总结
以上是生活随笔为你收集整理的wiki多个文件一起导入_wiki.js 使用 postgres 支持中文全文检索的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: python一次性输入10个数_pyth
- 下一篇: 串口 驱动 热敏打印机_菜鸟裹裹x 快麦