指南

    索引

    /indexes 路由允许您创建、管理和删除索引。

    了解更多关于索引的信息.

    索引对象

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

    列出所有索引

    GET/indexes

    列出所有索引。结果可以使用 offsetlimit 查询参数进行分页。

    查询参数

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

    响应

    名称类型描述
    results数组索引的数组
    offsetoffset整数
    limitoffset跳过的索引数量
    limitoffset返回的索引数量

    total

    curl \
      -X GET 'MEILISEARCH_URL/indexes?limit=3'

    Rust

    {
      "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
    }  
    

    Swift

    Dart

    响应: 200 Ok

    获取一个索引

    名称类型描述
    GET/indexes/{index_uid} *字符串获取关于一个索引的信息。

    total

    curl \
      -X GET 'MEILISEARCH_URL/indexes/movies'

    Rust

    {
      "uid": "movies",
      "createdAt": "2022-02-10T07:45:15.628261Z",
      "updatedAt": "2022-02-21T15:28:43.496574Z",
      "primaryKey": "id"
    }
    

    路径参数

    index_uid

    字符串

    请求索引的 uid

    名称类型默认值描述
    uid *字符串N/A获取关于一个索引的信息。
    primaryKey字符串 / nullnull创建索引
    {
      "uid": "movies",
      "primaryKey": "id"
    }
    

    total

    curl \
      -X POST 'MEILISEARCH_URL/indexes' \
      -H 'Content-Type: application/json' \
      --data-binary '{
        "uid": "movies",
        "primaryKey": "id"
      }'

    POST/indexes

    {
      "taskUid": 0,
      "indexUid": "movies",
      "status": "enqueued",
      "type": "indexCreation",
      "enqueuedAt": "2021-08-12T10:00:00.000000Z"
    }
    

    创建索引。

    请求体

    primaryKey

    字符串

    请求索引的 主键

    响应: 202 Accepted

    您可以使用响应的 taskUid跟踪您的请求状态

    获取一个索引

    名称类型描述
    GET/indexes/{index_uid} *字符串获取关于一个索引的信息。

    请求索引的 uid

    名称类型默认值描述
    primaryKey *字符串 / nullN/A创建索引

    total

    curl \
      -X PATCH 'MEILISEARCH_URL/indexes/movies' \
      -H 'Content-Type: application/json' \
      --data-binary '{ "primaryKey": "id" }'

    POST/indexes

    {
      "taskUid": 1,
      "indexUid": "movies",
      "status": "enqueued",
      "type": "indexUpdate",
      "enqueuedAt": "2021-08-12T10:00:00.000000Z"
    }
    

    创建索引。

    更新索引

    PATCH/indexes/{index_uid}

    更新索引的主键。只要索引不包含任何文档,您就可以自由更新索引的主键。

    获取一个索引

    名称类型描述
    GET/indexes/{index_uid} *字符串获取关于一个索引的信息。

    total

    curl \
      -X DELETE 'MEILISEARCH_URL/indexes/movies'

    POST/indexes

    {
      "taskUid": 1,
      "indexUid": "movies",
      "status": "enqueued",
      "type": "indexDeletion",
      "enqueuedAt": "2021-08-12T10:00:00.000000Z"
    }
    

    创建索引。

    要更改已包含文档的索引的主键,您必须首先删除该索引中的所有文档。然后,您可以更改主键并再次索引您的数据集。

    注意

    无法更改索引的 uid

    删除索引

    DELETE/indexes/{index_uid}

    删除索引。

    请求索引的 uid

    交换索引

    名称类型默认值描述
    POST/swap-indexes*交换两个或多个索引的文档、设置和任务历史记录。您一次只能交换成对的索引。 但是,单个请求可以交换任意多对索引。N/A交换索引是一个原子事务:要么所有索引都成功交换,要么都不交换。

    交换 indexAindexB 也会在任务历史记录中将所有提及 indexA 的地方替换为 indexB,反之亦然。enqueued 任务保持不变。

    响应: 202 Accepted

    要了解更多关于索引交换的信息,请参考这份简短指南。

    total

    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"
    }
    
    响应: 202 Accepted

    请求体

    创建索引。