Jakeuj's Notes Help

Search

Writerside 發布後可以利用 Algolia search 做站內搜尋。重點是 Algolia index records 裡的 productversion 必須和線上 config.json 產出的 facet filters 一致,否則資料有進 index,前端仍會搜尋不到。

首先參照官方說明文件來註冊 Algolia 帳號,並取得 API key。 Algolia search

  1. 註冊 Algolia 帳號,並取得 API key。

  2. 登入後應該會有預設的應用程式,如果沒有就新增一個,地區目前不支援亞洲。 App

  3. 在 Algolia 應用程式頁面,點選 Data sources | Indices,然後點選 Create Index。

datasources.png
  1. 提供一個有意義的名稱並建立索引。

  2. 在索引頁面,點選 Configuration | Facets,然後點選 Attributes for faceting 下的 Add an attribute。

Facets.png
  1. 新增兩個屬性:product 和 version。

  2. 點選 Review and Save Settings 並確認。

  3. 在左下角點 Settings 到設定頁面,點選 API Keys。

ApiKeys.png
1. 然後找到 Application ID, Search API Key, Admin API Key,這些資訊會用在 Writerside 的設定。
ApiKey.png

Add search to config

繼續參照 官方文件 來設定 buildprofiles.xml

<variables> <algolia-id>YourAppId</algolia-id> <algolia-index>YourIndexName</algolia-index> <algolia-api-key>YourSearchApiKey</algolia-api-key> </variables>

Github Action

  1. 到 Github repo 的 Settings | Secrets,新增以下變數:

    • ALGOLIA_KEY: YourAdminApiKey

  2. 參考官方文件 Upload search indexes 建立 .github/workflows/deploy.yml 並確保以下設定有被正確設置

ALGOLIA_ARTIFACT: 'algolia-indexes-HI.zip' ALGOLIA_APP_NAME: 'YourAppId' ALGOLIA_INDEX_NAME: 'YourIndexName' ALGOLIA_KEY: '${{ secrets.ALGOLIA_KEY }}' CONFIG_JSON_PRODUCT: 'hi' CONFIG_JSON_VERSION: ''

注意事項

  • CONFIG_JSON_PRODUCT 需要和線上 config.jsonproductId 一致。這個 repo 目前是 help instance ID hi ,所以應設定為:

CONFIG_JSON_PRODUCT: 'hi'
  • CONFIG_JSON_VERSION 需要和線上 config.jsonproductVersion 一致。這個 repo 目前 productVersion 是空字串,所以應設定為:

CONFIG_JSON_VERSION: ''

否則會導致 Algolia search facet filters 的 productversion 條件不符:index 裡明明有資料,前端仍會顯示沒有搜尋結果。可以用下面方式確認線上前端實際使用的值:

curl -L https://jakeuj.com/config.json

結果

完成後,就可以在 Writerside 網站右上角點放大鏡來使用搜尋功能了。

search-results.png
26 June 2026