日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

wiki多个文件一起导入_wiki.js 使用 postgres 支持中文全文检索

發(fā)布時(shí)間:2025/5/22 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wiki多个文件一起导入_wiki.js 使用 postgres 支持中文全文检索 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

之前一直使用 Typora 做知識(shí)管理,優(yōu)點(diǎn)是

  • 免費(fèi)+全平臺(tái) (windows + mac + Linux)
  • 可以配圖床(PicGo)
  • 有全文檢索(>0.9.61) ,比很多云平臺(tái)的搜索強(qiáng)。
  • 可以用相對(duì)路徑引用其他文檔,這個(gè)特性可以使 Typora 充當(dāng)一個(gè)本地 wiki。
  • 編輯器所見即所得。
  • 缺點(diǎn)是

  • 文檔規(guī)模大了以后,搜索到文檔后很難在左側(cè)文件樹定位到文檔,從而影響文件組織。
  • 沒有前后跳轉(zhuǎn),在多個(gè)文檔跳轉(zhuǎn)時(shí)容易迷路。
  • 不太好分享給別人,沒有權(quán)限控制等問題。
  • CommonMark 語義少了一點(diǎn)。
  • 它作為 wiki 的前置處理還是很好用的。配合網(wǎng)盤,多設(shè)備同步,個(gè)人使用很香。但涉及到分享和權(quán)限管理就很頭疼,處理這些問題還是需要專業(yè)的 wiki 系統(tǒng)。作為一個(gè) wiki 系統(tǒng),必須支持全文檢索才能用。之前捐款的 wiki.js(顏值高) 2.0 版本后支持全文檢索,同時(shí)也支持 markdown 編輯。這樣在 typora 寫好后,可以將經(jīng)常需要查詢知識(shí)放入 wiki.js 中。

    部署后發(fā)現(xiàn) wiki.js 支持的 postgres 全文檢索不支持中文,給它單獨(dú)配個(gè) ES 又怕家里的 NAS 吃不消,折騰了一天終于讓 wikijs 支持中文全文檢索了。

    先準(zhǔn)備一個(gè)支持中文檢索的 postgres,我直接使用了一個(gè)帶 zhparser 插件的 postgres 鏡像,比較新的鏡像是

    abcfy2/docker_zhparser: A source repo of Postgres Chinese full-test search docker image, based on zhparser.

    選好對(duì)應(yīng)的 postgres 版本后,部署,進(jìn)入 postgres console 創(chuàng)建 wikijs 的 USER 和 DATABASE

    sudo su - postgres # bash/切換成 psql -- 為postgres用戶 生成一個(gè)密碼 password postgres CREATE USER wikijs WITH PASSWORD 'wikijs'; # 生成用戶 CREATE DATABASE wikijs_db OWNER wikijs; # 生成數(shù)據(jù)庫 GRANT ALL PRIVILEGES ON DATABASE wikijs_db to wikijs; ALTER USER wikijs WITH SUPERUSER;

    退出 session,重新連入 wikijs_db 數(shù)據(jù)庫,設(shè)置中文全文檢索

    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全文檢索系統(tǒng)之中文支持_jjj的博客-CSDN博客]( -- https://blog.csdn.net/weixin_40746796/article/details/89209316 -- ) -- 忽略標(biāo)點(diǎn)影響 ALTER ROLE wikijs SET zhparser.punctuation_ignore = ON; -- 短詞復(fù)合 ALTER ROLE wikijs SET zhparser.multi_short = ON;-- 看看 chinese_zh 在不在 dF -- 測試一下 select ts_debug('chinese_zh', '白堊紀(jì)是地球上海陸分布和生物界急劇變化、火山活動(dòng)頻繁的時(shí)代');

    退出 session,重新連入 postgres 數(shù)據(jù)庫,關(guān)閉 wikijs superuser權(quán)限

    psql -U postgres -d postgres ALTER USER wikijs WITH NOSUPERUSER;

    docker 部署一個(gè) wiki.js,環(huán)境變量填好,開啟后進(jìn)入容器 console,將 /wiki/server/modules/search/postgres/definition.yml 中的 enum list 添加一個(gè)元素 chinese_zh

    enum:...- turkish- chinese_zh

    重啟容器,打開 wiki.js 管理 | 搜索引擎 | Database - PostgreSQL | Dictionary Language 選 chinese_zh。

    改好后在入口試試全文檢索吧,enjoy!

    總結(jié)

    以上是生活随笔為你收集整理的wiki多个文件一起导入_wiki.js 使用 postgres 支持中文全文检索的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。