使用 Meilisearch API 設定索引設定

    本教學將說明如何使用 Meilisearch API 的其中一個設定子路由,來檢查和變更索引設定。

    如果您是 Meilisearch Cloud 的使用者,您也可以使用 Meilisearch Cloud 介面設定索引設定

    需求條件

    取得單一索引設定的值

    首先檢查可搜尋屬性的索引設定值。

    使用 /settings/searchable-attributes 子路由的 GET 端點,並將 INDEX_NAME 替換為您的索引名稱

    curl \
      -X GET 'https://127.0.0.1:7700/indexes/INDEX_NAME/settings/searchable-attributes'

    根據您的設定,您可能還需要將 localhost:7700 替換為適當的位址和連接埠。

    您應該會立即收到回應

    [
      "*"
    ]
    

    如果這是一個新的索引,您應該會看到預設值 ["*"]。這表示 Meilisearch 在搜尋時會檢視所有文件屬性。

    更新索引設定

    所有文件都包含一個主鍵屬性。在大多數情況下,此屬性不包含任何相關資料,因此您可以將其從可搜尋屬性清單中明確移除,以改善您的應用程式搜尋體驗。

    使用 /settings/searchable-attributes 子路由的 PUT 端點,將 INDEX_NAME 替換為您的索引名稱,並將範例屬性 "title""overview" 替換為您資料集中存在的屬性

    curl \
      -X PUT 'https://127.0.0.1:7700/indexes/INDEX_NAME/settings/searchable-attributes' \
      -H 'Content-Type: application/json' \
      --data-binary '[
        "title",
        "overview"
      ]'

    這次,Meilisearch 不會立即處理您的請求。相反地,當搜尋引擎正在更新您的索引設定時,您會收到一個摘要的工作物件,只要它有足夠的資源。

    {
      "taskUid": 1,
      "indexUid": "INDEX_NAME",
      "status": "enqueued",
      "type": "settingsUpdate",
      "enqueuedAt": "2021-08-11T09:25:53.000000Z"
    }
    

    處理索引設定變更可能需要一些時間,具體取決於您的索引中有多少文件。請稍待幾秒鐘,並使用工作物件的 taskUid 來監控您的請求狀態

    curl \
      -X GET 'https://127.0.0.1:7700/tasks/TASK_UID'

    Meilisearch 將回應一個工作物件

    {
      "uid":1,
      "indexUid":"INDEX_NAME",
      "status":"succeeded",
      "type":"settingsUpdate",}
    

    如果 statusenqueuedprocessed,請稍待片刻並再次檢查工作狀態。如果 statusfailed,請確保您使用了有效的索引和屬性,然後再試一次。

    如果工作 statussucceeded,表示您已成功更新索引的可搜尋屬性。使用子路由來檢查新的設定值

    curl \
      -X GET 'https://127.0.0.1:7700/indexes/INDEX_NAME/settings/searchable-attributes'

    Meilisearch 應該會返回一個包含新值的陣列

    [
      "title",
      "overview"
    ]
    

    結論

    您已使用 Meilisearch API 來檢查索引設定的值。這揭示了一個可以改善您的專案效能的機會,因此您更新了此索引設定,使您的應用程式更好、反應更快。

    本教學使用了可搜尋屬性設定,但是無論您編輯哪個索引設定,步驟都是相同的。

    如需所有索引設定的完整參考資料,請查閱設定 API 參考資料