批次
/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
类型:对象
描述:包含两个字段的对象:steps
和 percentage
。一旦 Meilisearch 完全处理完批次,其 progress
将设置为 null
。
steps
有关 Meilisearch 在此批次中执行的当前操作的信息。一个步骤可能包含多个子步骤。
名称 | 描述 |
---|---|
currentStep | 描述操作的字符串 |
total | 步骤中操作的总数 |
finished | Meilisearch 已完成的操作数 |
如果 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
的日期和时间,无论是 failed
、succeeded
还是 canceled
,采用 RFC 3339 格式
获取批次
列出所有批次,无论索引如何。批次对象包含在 results
数组中。
批次始终按 uid
降序返回。这意味着默认情况下,最近创建的批次对象首先出现。
`/batches` 参数和任务
/batches
的某些查询参数(例如 uids
和 statuses
)针对的是任务而不是批次。
例如,?uids=0
返回包含 taskUid
等于 0
的任务的批次,而不是 batchUid
等于 0
的批次。
查询参数
查询参数 | 默认值 | 描述 |
---|---|---|
uids | * (所有任务 uids) | 选择包含具有指定 uid 的任务的批次。使用逗号 (, ) 分隔多个任务 uids |
batchUids | * (所有批次 uids) | 按批次的 uid 筛选批次。使用逗号 (, ) 分隔多个批次 uids |
indexUids | * (所有索引) | 选择包含影响指定索引的任务的批次。使用逗号 (, ) 分隔多个 indexUids |
statuses | * (所有状态) | 选择包含具有指定 status 的任务的批次。使用逗号 (, ) 分隔多个任务 statuses |
types | * (所有类型) | 选择包含具有指定 type 的任务的批次。使用逗号 (, ) 分隔多个任务 types |
limit | 20 | 要返回的批次数 |
from | 上次创建的批次的 uid | 返回的第一个批次的 uid |
reverse | false | 如果为 true ,则按相反的顺序返回结果,从最旧到最新 |
beforeEnqueuedAt | * (所有任务) | 选择包含具有指定 enqueuedAt 字段的任务的批次 |
beforeStartedAt | * (所有任务) | 选择包含具有指定 startedAt 字段的任务的批次 |
beforeFinishedAt | * (所有任务) | 选择包含具有指定 finishedAt 字段的任务的批次 |
afterEnqueuedAt | * (所有任务) | 选择包含具有指定 enqueuedAt 字段的任务的批次 |
afterStartedAt | * (所有任务) | 选择包含具有指定 startedAt 字段的任务的批次 |
afterFinishedAt | * (所有任务) | 选择包含具有指定 finishedAt 字段的任务的批次 |
响应
名称 | 类型 | 描述 |
---|---|---|
results | 数组 | 批次对象的数组 |
total | total | 整数 |
limit | total | 匹配过滤器或查询的批次总数 |
from | total | 返回的第一个批次的 uid |
limit | total | 整数 |
返回的批次数
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
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"
}