You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elasticsearch 8中_shards参数相关的三个技术疑问

Elasticsearch 8 写入操作分片相关问题解答

在Elasticsearch 8环境下执行以下PUT写入请求:

PUT /vehicles/_doc/123
{
  "make": "Honda",
  "color": "Blue",
  "HP": 250,
  "milage": 24000,
  "price": 19300.97
}

得到的返回结果如下:

{
  "_index": "vehicles",
  "_id": "123",
  "_version": 2,
  "result": "updated",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  },
  "_seq_no": 1,
  "_primary_term": 1
}

针对以下三个问题的解答:


  • 问题1:total分片数(此处为2)是否包含主分片与副本分片?
    是的,total统计的是目标索引中主分片+副本分片的总数量。你这个场景里vehicles索引应该是1个主分片搭配1个副本分片,所以总数为2。

  • 问题2:successful分片数是否仅指写入该PUT请求的主分片?能否大于1?
    不是仅统计主分片。默认逻辑是,Elasticsearch成功写入主分片后,会等待副本分片同步数据,successful会统计所有成功完成写入的分片(包括主分片和同步成功的副本分片)。所以它完全可以大于1——比如如果副本分片同步成功,这里的successful就会变成2。你这次返回1,说明主分片写入成功,但副本分片未完成同步(或处于未分配状态)。

  • 问题3:failed分片是否仅指失败的主分片?
    不是,failed统计的是所有写入失败的分片,涵盖主分片和副本分片。如果主分片写入失败,整个请求会直接报错;如果主分片写入成功,但某个副本分片同步失败,就会在failed里计数对应的副本分片。


内容的提问来源于stack exchange,提问作者william007

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 05:20:29