索引
/indexes
路由允許您建立、管理和刪除索引。
索引物件
{
"uid": "movies",
"createdAt": "2022-02-10T07:45:15.628261Z",
"updatedAt": "2022-02-21T15:28:43.496574Z",
"primaryKey": "id"
}
列出所有索引
GET/indexes
列出所有索引。結果可以使用 offset
和 limit
查詢參數進行分頁。
查詢參數
查詢參數 | 描述 | 預設值 |
---|---|---|
offset | 要跳過的索引數量 | 0 |
limit | 要傳回的索引數量 | 20 |
回應
名稱 | 類型 | 描述 |
---|---|---|
results | 陣列 | 一個索引的陣列 |
offset | 整數 | 跳過的索引數量 |
limit | 整數 | 傳回的索引數量 |
total | 整數 | 索引總數 |
範例
curl \
-X GET 'https://127.0.0.1:7700/indexes?limit=3'
回應:200 Ok
{
"results": [
{
"uid": "books",
"createdAt": "2022-03-08T10:00:27.377346Z",
"updatedAt": "2022-03-08T10:00:27.391209Z",
"primaryKey": "id"
},
{
"uid": "meteorites",
"createdAt": "2022-03-08T10:00:44.518768Z",
"updatedAt": "2022-03-08T10:00:44.582083Z",
"primaryKey": "id"
},
{
"uid": "movies",
"createdAt": "2022-02-10T07:45:15.628261Z",
"updatedAt": "2022-02-21T15:28:43.496574Z",
"primaryKey": "id"
}
],
"offset": 0,
"limit": 3,
"total": 5
}
取得一個索引
GET/indexes/{index_uid}
取得關於索引的資訊。
路徑參數
名稱 | 類型 | 描述 |
---|---|---|
index_uid * | 字串 | 請求的索引的uid |
範例
curl \
-X GET 'https://127.0.0.1:7700/indexes/movies'
回應:200 Ok
{
"uid": "movies",
"createdAt": "2022-02-10T07:45:15.628261Z",
"updatedAt": "2022-02-21T15:28:43.496574Z",
"primaryKey": "id"
}
建立索引
POST/indexes
建立索引。
請求主體
{
"uid": "movies",
"primaryKey": "id"
}
範例
curl \
-X POST 'https://127.0.0.1:7700/indexes' \
-H 'Content-Type: application/json' \
--data-binary '{
"uid": "movies",
"primaryKey": "id"
}'
回應:202 Accepted
{
"taskUid": 0,
"indexUid": "movies",
"status": "enqueued",
"type": "indexCreation",
"enqueuedAt": "2021-08-12T10:00:00.000000Z"
}
您可以使用回應的 taskUid
來追蹤您的請求狀態。
更新索引
PATCH/indexes/{index_uid}
更新索引的主鍵。只要索引不包含任何文件,您可以自由更新索引的主鍵。
若要變更已經包含文件的索引的主鍵,您必須先刪除該索引中的所有文件。然後您可以變更主鍵並再次索引您的資料集。
注意
無法變更索引的 uid
。
路徑參數
名稱 | 類型 | 描述 |
---|---|---|
index_uid * | 字串 | 請求的索引的uid |
請求主體
名稱 | 類型 | 預設值 | 描述 |
---|---|---|---|
primaryKey * | 字串 / null | 不適用 | 請求的索引的主鍵 |
範例
curl \
-X PATCH 'https://127.0.0.1:7700/indexes/movies' \
-H 'Content-Type: application/json' \
--data-binary '{ "primaryKey": "id" }'
回應:202 Accepted
{
"taskUid": 1,
"indexUid": "movies",
"status": "enqueued",
"type": "indexUpdate",
"enqueuedAt": "2021-08-12T10:00:00.000000Z"
}
您可以使用回應的 taskUid
來追蹤您的請求狀態。
刪除索引
DELETE/indexes/{index_uid}
刪除索引。
路徑參數
名稱 | 類型 | 描述 |
---|---|---|
index_uid * | 字串 | 請求的索引的uid |
範例
curl \
-X DELETE 'https://127.0.0.1:7700/indexes/movies'
回應:202 Accepted
{
"taskUid": 1,
"indexUid": "movies",
"status": "enqueued",
"type": "indexDeletion",
"enqueuedAt": "2021-08-12T10:00:00.000000Z"
}
您可以使用回應的 taskUid
來追蹤您的請求狀態。
交換索引
POST/swap-indexes
交換兩個或多個索引的文件、設定和任務歷史記錄。您只能成對交換索引。 但是,單一請求可以交換任意數量的索引對。
交換索引是原子交易:要么所有索引都成功交換,要么都不交換。
交換 indexA
和 indexB
也會在任務歷史記錄中將所有提及的 indexA
替換為 indexB
,反之亦然。enqueued
任務保持不變。
請求主體
物件陣列。每個物件只有一個鍵:indexes
。
名稱 | 類型 | 預設值 | 描述 |
---|---|---|---|
indexes * | 字串陣列 | 不適用 | 要交換的兩個 indexUid 的陣列 |
每個 indexes
陣列必須僅包含兩個元素:要交換的兩個索引的 indexUid
。傳送空陣列 ([]
) 是有效的,但不會執行任何交換操作。
注意
您可以使用單一請求交換多對索引。為此,每個要交換的索引對都必須有一個物件。
範例
curl \
-X POST 'https://127.0.0.1:7700/swap-indexes' \
-H 'Content-Type: application/json' \
--data-binary '[
{
"indexes": [
"indexA",
"indexB"
]
},
{
"indexes": [
"indexX",
"indexY"
]
}
]'
回應
{
"taskUid": 3,
"indexUid": null,
"status": "enqueued",
"type": "indexSwap",
"enqueuedAt": "2021-08-12T10:00:00.000000Z"
}
注意
由於 indexSwap
是一個全域任務,因此 indexUid
始終為 null
。
您可以使用回應的 taskUid
來追蹤您的請求狀態。