/batches 路由提供了关于异步操作批处理进度的信息。

批处理对象

{
  "uid": 0,
  "progress": {
    "steps": [
      { 
        "currentStep": "extracting words",
        "finished": 2,
        "total": 9,
      },
      {
        "currentStep": "document",
        "finished": 30546,
        "total": 31944,
      }
    ],
    "percentage": 32.8471
  },
  "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",
  "batchStrategy": "batched all enqueued tasks"
}

uid

类型: 整型

描述: 批处理的唯一顺序标识符。从 0 开始,每新增一个批处理递增 1。

details

类型: 对象

描述: 批处理中任务类型的基本信息。完整可能值列表请参阅任务对象参考

progress

类型: 对象

描述: 包含两个字段的对象:stepspercentage。当 Meilisearch 完全处理完一个批处理后,其 progress 会被设为 null

steps

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

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

percentage

已完成操作的百分比,根据所有当前步骤和子步骤计算得出。该值是一个粗略估计,由于不同步骤处理速度不同,可能无法准确反映批次的当前状态。

stats

类型: 对象

描述: 批次中所有任务负载的详细信息。

totalNbTasks

批次中的任务数量。

status

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

types

批次中包含的任务类型列表。

indexUids

按受影响索引分组的批次任务数量列表。

progressTrace

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

writeChannelCongestion

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

internalDatabaseSizes

每个内部数据库的大小,包括处理批次后的变化量。

duration

类型: 字符串

描述: 该批次在 processing 状态下的总耗时,以 ISO 8601 格式表示。当批次仍在处理任务时,该值为 null

startedAt

类型: 字符串

描述: 批次开始 processing 的日期和时间,以 RFC 3339 格式表示

finishedAt

类型: 字符串

描述: 任务完成 processing 的日期和时间(无论结果是 failedsucceeded 还是 canceled),以 RFC 3339 格式表示

batchStrategy

类型: 字符串

描述: 描述批次创建逻辑的字符串。在诊断索引性能问题时可能包含有用信息。

获取批次列表

GET
/batches

列出所有批次(不区分索引)。批次对象包含在 results 数组中。

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

批次结果支持分页和通过查询参数过滤

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

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

查询参数

查询参数默认值描述
uids* (所有任务 uid)选择包含指定 uid 任务的批次。多个任务 uid 用逗号 (,) 分隔
batchUids* (所有批次 uid)按批次 uid 过滤。多个批次 uid 用逗号 (,) 分隔
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数组包含多个批量操作对象的数组
total整型符合筛选条件或查询的批量操作总数
limit整型返回的批量操作数量
from整型返回的第一个批量操作的 uid
next整型用于查看下一页结果的 from 值。当 next 值为 null 时,表示没有更多任务可查看

示例

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

响应: 200 Ok

{
  "results": [
    {
      "uid": 2,
      "progress": null,
      "details": {
        "stopWords": [
          "of",
          "the"
        ]
      },
      "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",
      "batchStrategy": "batched all enqueued tasks"
    }
  ],
  "total": 3,
  "limit": 1,
  "from": 2,
  "next": 1
}

获取单个批次

GET
/batches/{batch_uid}

获取单个批次信息。

路径参数

名称类型描述
batch_uid *字符串请求批次的 uid 标识符

示例

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

响应:200 Ok

{
  "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",
  "batchStrategy": "batched all enqueued tasks"
}