使用 Meilisearch API 設定索引設定
本教學將說明如何使用 Meilisearch API 的其中一個設定子路由,來檢查和變更索引設定。
如果您是 Meilisearch Cloud 的使用者,您也可以使用 Meilisearch Cloud 介面設定索引設定。
需求條件
- 一個新的 Meilisearch Cloud 專案,或至少有一個索引的自架 Meilisearch 實例
- 已安裝
curl
的命令列終端機
取得單一索引設定的值
首先檢查可搜尋屬性的索引設定值。
使用 /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",
…
}
如果 status
為 enqueued
或 processed
,請稍待片刻並再次檢查工作狀態。如果 status
為 failed
,請確保您使用了有效的索引和屬性,然後再試一次。
如果工作 status
為 succeeded
,表示您已成功更新索引的可搜尋屬性。使用子路由來檢查新的設定值
curl \
-X GET 'https://127.0.0.1:7700/indexes/INDEX_NAME/settings/searchable-attributes'
Meilisearch 應該會返回一個包含新值的陣列
[
"title",
"overview"
]
結論
您已使用 Meilisearch API 來檢查索引設定的值。這揭示了一個可以改善您的專案效能的機會,因此您更新了此索引設定,使您的應用程式更好、反應更快。
本教學使用了可搜尋屬性設定,但是無論您編輯哪個索引設定,步驟都是相同的。
如需所有索引設定的完整參考資料,請查閱設定 API 參考資料。