外观
如何理解Bulk、刷新与近实时可见性?
标准回答
Bulk 减少大量独立请求的开销,但响应中每项操作都可能有自己的失败状态;HTTP 请求成功不代表整批文档都写入成功。应逐项处理错误,只对适合重试的项重试,稳定文档 ID 用于控制重复。
搜索引擎中的写入确认与搜索可见性有不同条件。刷新影响可被搜索的时间,强制每批或每条刷新可能损害吞吐。业务需要立即查询刚写入内容时,应明确一致性需求并选择对应机制,而不是默认所有查询都强制刷新。
批大小应根据字节、处理时延和拒绝情况调整,不能只按条数。大文本、字段数量与并发批次数会改变内存和队列压力。在线更新时观察查询 P95 和后台合并负载,避免仅追求写入峰值。
追问与回答
Bulk 请求超时能否整批重试
需要确认动作的幂等性与稳定 ID;部分操作可能已经成功。对有副作用或版本条件的操作,必须依赖逐项结果和业务版本处理。
为什么增大批次反而更慢
可能触发堆压力、网络大包、队列拒绝和更长尾部等待;用吞吐、P95、错误率和资源曲线确定范围。
易混淆点
- 只检查 Bulk 顶层 HTTP 状态。
参考资料
内容来源
- Android 与 AI 工程 Wiki · 原条目
q134