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

如何在Elasticsearch的client.bulk方法中设置retry_on_conflict参数

正确配置方法

retry_on_conflict属于bulk请求的查询参数,不能直接放在options顶级字段下,需要嵌套在query对象中配置,修改后的代码如下:

const options = {
    index: config.aws.es.index,
    body: bulkBody,
    query: {
        retry_on_conflict: 5
    }
};

client.bulk(options, (err, { body }) => {
    if (err) {
        reject(err);
    } else {
        resolve(body);
    }
});

补充说明

如果你只需要给bulk中的部分update操作设置冲突重试规则,可以不用配置全局的query参数,改为在每个update操作的元数据行单独指定参数,对应的bulkBody结构示例:

const bulkBody = [
    // update操作元数据行,单独指定重试次数
    { update: { _id: "你的文档ID", retry_on_conflict: 3 } },
    // update操作内容行
    { doc: { 要更新的字段: "对应值" } },
    // 其他批量操作
    // ...
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 06:15:02