IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Wiki JS 中文搜索

    lesca发表于 2022-11-23 08:11:37
    love 0

    引子

    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

    1. 进入 wiki 后台 – 搜索引擎 – 选择“Database – PostgreSQL” – 选择 simple,应用
    2. 用 pgadmin 连接数据库,找到表searchEngines,扎到属性 postgres 将值 {"dictLanguage":"simple"} 改为 {"dictLanguage":"jiebacfg"}
    3. 进入 wiki 后台 – 搜索引擎。这时选项为空,不用管它。点击“重建索引”

    注意事项

    1. pgadmin 仅临时用于修改数据库,用完后记得将其关闭(注释掉即可)。
    2. 修改后,引擎配置选项为空,不用管它,可以随时改回去。每次更改都要重新索引。

    参考

    [1] 我与尼古拉斯的讨论



沪ICP备19023445号-2号
友情链接