嵌入式搜索

目前官方模板 yilog 使用的是 Algolia 提供的解决方案。 道盒提供一站式数据推送和前端界面集成,可访问 yilog 查看效果。

快速开始

  1. 申请 Algolia 账号,获取 APP_IDAPI_KEY (需要有数据写入权限)。

  2. 安装配置

    # 安装
    pnpm install -D everkm-algolia
    
    # 设置 API 参数环境变量
    export ALGOLIA_APP_ID="${{ secrets.ALGOLIA_APP_ID }}"
    export ALGOLIA_API_KEY="${{ secrets.ALGOLIA_API_KEY }}"
    
    # 清空数据,并重置配置
    ./node_modules/.bin/ekmp-algolia --index-name <index name> reset --languages zh --languages en
    
    # 推送指定目录下的页面
    ./node_modules/.bin/ekmp-algolia --index-name <index name> walk --url-base https://<Your domain>/ --dir dist
    
  3. everkm.yaml 增加配置项 cfg.embed_search

    cfg:
      embed_search:
        app_id: <app id>
        api_key: <api search key>
        index: <index name>
    

everkm-algolia reset 命令修改的配置项

  1. indexLanguages, queryLanguages

    将自己的首要语言添加为第一个,其次添加英语。如果首要语言是英语,可以不用设置。

  2. searchableAttributes

    搜索字段 title, content

  3. separatorsToIndex

    设置为 -_ ,将其作为可搜索关键字。

  4. attributeForDistinct

    用于记录去重的属性名。