批次

    /batches 路由提供有关 异步操作 批次进度的信息。

    批次对象

    {
      "uid": 0,
      "details": {
        "receivedDocuments": 6,
        "indexedDocuments": 6
      },
      "stats": {
        "totalNbTasks": 1,
        "status": {
          "succeeded": 1
        },
        "types": {
          "documentAdditionOrUpdate": 1
        },
        "indexUids": {
          "INDEX_NAME": 1
        }, 
        "progressTrace": {},
        "writeChannelCongestion": {},
        "internalDatabaseSizes": {}
      },
      "duration": "PT0.250518S",
      "startedAt": "2024-12-10T15:20:30.18182Z",
      "finishedAt": "2024-12-10T15:20:30.432338Z",
      "progress": {
        "steps": [
          { 
            "currentStep": "extracting words",
            "finished": 2,
            "total": 9,
          },
          {
            "currentStep": "document",
            "finished": 30546,
            "total": 31944,
          }
        ],
        "percentage": 32.8471
      }
    }
    

    uid

    类型:整数
    描述:批次的唯一顺序标识符。从 0 开始,每个新批次递增 1。

    details

    类型:对象
    描述:有关批次中任务类型的基本信息。有关可能值的详尽列表,请查阅 任务对象参考

    progress

    类型:对象
    描述:包含两个字段的对象:stepspercentage。一旦 Meilisearch 完全处理完批次,其 progress 将设置为 null

    steps

    有关 Meilisearch 在此批次中执行的当前操作的信息。一个步骤可能包含多个子步骤。

    名称描述
    currentStep描述操作的字符串
    total步骤中操作的总数
    finishedMeilisearch 已完成的操作数

    如果 Meilisearch 处理批次的时间超出预期,请监控 steps 数组。如果 steps 数组中最后一项的 finished 字段未更新,则 Meilisearch 可能卡住了。

    percentage

    从所有当前步骤和子步骤计算得出的已完成操作百分比。此值是一个粗略的估计值,由于不同步骤的处理速度快慢不一,可能并不总是反映批次的当前状态。

    stats

    类型:对象
    描述:有关批次中所有任务的有效负载的详细信息。

    totalNbTasks

    批次中的任务数。

    status

    对象,列出批次中每个任务的状态。包含五个键,其值对应于具有该状态的任务数。

    types

    包含在批次中的任务 types 列表。

    indexUids

    按其影响的索引分隔的批次中任务数的列表。

    progressTrace

    包含批次中执行的每个操作的完整路径以及人类可读格式的处理时间的列表。

    writeChannelCongestion

    包含有关索引期间计算的写入操作信息的对象。在诊断与写入速度相关的性能问题时可能很有用。

    internalDatabaseSizes

    每个内部数据库的大小,包括在处理批次后更改了多少。

    duration

    类型:字符串
    描述:批次在 processing 状态下花费的总耗时,采用 ISO 8601 格式。在批次处理任务时设置为 null

    startedAt

    类型:字符串
    描述:批次开始 processing 的日期和时间,采用 RFC 3339 格式

    finishedAt

    类型:字符串
    描述:任务完成 processing 的日期和时间,无论是 failedsucceeded 还是 canceled,采用 RFC 3339 格式

    获取批次

    GET/batches

    列出所有批次,无论索引如何。批次对象包含在 results 数组中。

    批次始终按 uid 降序返回。这意味着默认情况下,最近创建的批次对象首先出现

    批次结果是 分页的,并且可以使用查询参数进行 筛选

    `/batches` 参数和任务

    /batches 的某些查询参数(例如 uidsstatuses)针对的是任务而不是批次。

    例如,?uids=0 返回包含 taskUid 等于 0 的任务的批次,而不是 batchUid 等于 0 的批次。

    查询参数

    查询参数默认值描述
    uids*(所有任务 uids)选择包含具有指定 uid 的任务的批次。使用逗号 (,) 分隔多个任务 uids
    batchUids*(所有批次 uids)按批次的 uid 筛选批次。使用逗号 (,) 分隔多个批次 uids
    indexUids*(所有索引)选择包含影响指定索引的任务的批次。使用逗号 (,) 分隔多个 indexUids
    statuses*(所有状态)选择包含具有指定 status 的任务的批次。使用逗号 (,) 分隔多个任务 statuses
    types*(所有类型)选择包含具有指定 type 的任务的批次。使用逗号 (,) 分隔多个任务 types
    limit20要返回的批次数
    from上次创建的批次的 uid返回的第一个批次的 uid
    reversefalse如果为 true,则按相反的顺序返回结果,从最旧到最新
    beforeEnqueuedAt*(所有任务)选择包含具有指定 enqueuedAt 字段的任务的批次
    beforeStartedAt*(所有任务)选择包含具有指定 startedAt 字段的任务的批次
    beforeFinishedAt*(所有任务)选择包含具有指定 finishedAt 字段的任务的批次
    afterEnqueuedAt*(所有任务)选择包含具有指定 enqueuedAt 字段的任务的批次
    afterStartedAt*(所有任务)选择包含具有指定 startedAt 字段的任务的批次
    afterFinishedAt*(所有任务)选择包含具有指定 finishedAt 字段的任务的批次

    响应

    名称类型描述
    results数组批次对象的数组
    totaltotal整数
    limittotal匹配过滤器或查询的批次总数
    fromtotal返回的第一个批次的 uid
    limittotal整数

    返回的批次数

    curl \
      -X GET 'http://MEILISEARCH_URL/batches'

    JS

    {
      "results": [
        {
          "uid": 2,
          "details": {
            "stopWords": [
              "of",
              "the"
            ]
          },
          "progress": null,
          "stats": {
            "totalNbTasks": 1,
            "status": {
              "succeeded": 1
            },
            "types": {
              "settingsUpdate": 1
            },
            "indexUids": {
              "INDEX_NAME": 1
            },
            "progressTrace": {},
            "writeChannelCongestion": {},
            "internalDatabaseSizes": {}
          },
          "duration": "PT0.110083S",
          "startedAt": "2024-12-10T15:49:04.995321Z",
          "finishedAt": "2024-12-10T15:49:05.105404Z"
        }
      ],
      "total": 3,
      "limit": 1,
      "from": 2,
      "next": 1
    }
    

    Python

    PHP

    Ruby

    响应:200 Ok

    名称类型描述
    获取一个批次 *GET/batches/{batch_uid}获取单个批次。

    返回的批次数

    curl \
      -X GET 'http://MEILISEARCH_URL/batches/BATCH_UID'

    JS

    {
      "uid": 1,
      "details": {
        "receivedDocuments": 1,
        "indexedDocuments": 1
      },
      "progress": null,
      "stats": {
        "totalNbTasks": 1,
        "status": {
          "succeeded": 1
        },
        "types": {
          "documentAdditionOrUpdate": 1
        },
        "indexUids": {
          "INDEX_NAME": 1
        }
      },
      "duration": "PT0.364788S",
      "startedAt": "2024-12-10T15:48:49.672141Z",
      "finishedAt": "2024-12-10T15:48:50.036929Z"
    }