`/indexes` 路由允许您创建、管理和删除索引。 了解更多关于索引的信息

索引对象

{
  "uid": "movies",
  "createdAt": "2022-02-10T07:45:15.628261Z",
  "updatedAt": "2022-02-21T15:28:43.496574Z",
  "primaryKey": "id"
}
名称类型默认值描述
uid字符串不适用索引的唯一标识符。创建后不可更改
createdAt字符串不适用索引的创建日期,以 RFC 3339 格式表示。在索引创建时自动生成
updatedAt字符串不适用索引的最新更新日期,以 RFC 3339 格式表示。在索引创建或更新时自动生成
primaryKey字符串 / nullnull索引的主键。如果未指定,Meilisearch 会从您添加到索引的第一个文档中猜测您的主键

列出所有索引

GET
/indexes
列出所有索引。可以使用 `offset` 和 `limit` 查询参数进行分页。

查询参数

查询参数描述默认值
offset要跳过的索引数量0
limit要返回的索引数量20

响应

名称类型描述
results数组索引数组
offset整数已跳过的索引数量
limit整数已返回的索引数量
总数整数索引总数

示例

curl \
  -X GET 'MEILISEARCH_URL/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 'MEILISEARCH_URL/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 *字符串不适用请求索引的 uid
primaryKey字符串 / nullnull请求索引的`主键`
{
  "uid": "movies",
  "primaryKey": "id"
}

示例

curl \
  -X POST 'MEILISEARCH_URL/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 'MEILISEARCH_URL/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 'MEILISEARCH_URL/indexes/movies'

响应:202 Accepted

{
  "taskUid": 1,
  "indexUid": "movies",
  "status": "enqueued",
  "type": "indexDeletion",
  "enqueuedAt": "2021-08-12T10:00:00.000000Z"
}
您可以使用响应中的 `taskUid` 来跟踪请求的状态

交换索引

POST /swap-indexes
POST
/swap-indexes
交换两个或更多索引的文档、设置和任务历史记录。您只能成对交换索引。但是,单个请求可以交换任意数量的索引对。 交换索引是原子事务:所有索引要么成功交换,要么都不交换。 交换 `indexA` 和 `indexB` 也会在任务历史记录中用 `indexB` 替换所有 `indexA` 的提及,反之亦然。`enqueued` 任务保持不变。 要了解有关索引交换的更多信息,请参阅此简短指南。

请求体

对象数组。每个对象只有一个键:`indexes`。
名称类型默认值描述
indexes*字符串数组不适用要交换的两个 `indexUid` 的数组
每个 `indexes` 数组必须只包含两个元素:要交换的两个索引的 `indexUid`。发送空数组 (`[]`) 是有效的,但不会执行任何交换操作。
您可以使用单个请求交换多对索引。为此,每对要交换的索引必须有一个对象。

示例

curl \
  -X POST 'MEILISEARCH_URL/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` 来跟踪请求的状态
© . This site is unofficial and not affiliated with Meilisearch.