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 快麦