首页/数据/NoSQL 速查/_bulk 批量写入
本包目录(322 条)
MongoDB99 条
Elasticsearch89 条
ClickHouse56 条时序与列式28 条选型与架构50 条

_bulk 批量写入

批量接口用 NDJSON 组织操作:动作行与文档行交替,支持 index/create/update/delete 四类动作;单条失败不影响其他条目,需逐条检查响应。

NoSQL 速查数据更新于 2026-10-12
格式每行一个 JSON,动作行 + 文档行成对出现,最后必须有换行
动作index(覆盖)、create(存在则冲突)、update、delete
常用参数?refresh=wait_for 等待可见,路由 _routing 可指定分片

示例

示例
POST /_bulk?refresh=wait_for
{ "index": { "_index": "my-index", "_id": "1" } }
{ "title": "a" }
{ "create": { "_index": "my-index", "_id": "2" } }
{ "title": "b" }
{ "update": { "_index": "my-index", "_id": "3" } }
{ "doc": { "title": "c" } }
{ "delete": { "_index": "my-index", "_id": "4" } }
响应中 errors 为 true 时要逐条看 items[].error:常见原因是类型冲突与版本冲突,不能只看到 HTTP 200 就认为全部成功。

易错点

  • 最后一行缺换行会导致解析失败,脚本拼 NDJSON 时注意补尾换行
  • 单批体积过大(如几万条)会超时或被拒绝,按几 MB 级别切批更稳

数据来源与参考

  • Elasticsearch Guide: Bulk API
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌