如何使用 client.bulk 方法在弹性搜索中设置冲突重试

Posted

技术标签:

【中文标题】如何使用 client.bulk 方法在弹性搜索中设置冲突重试【英文标题】:How to set the retry on conflict in Elastic search using client.bulk method 【发布时间】:2022-01-02 06:14:13 【问题描述】:

我正在使用 client.bulk 方法插入弹性搜索。我需要根据文档在 client.bulk 中传递 retry_on_conflict 参数。

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html

下面的代码我正在尝试,但得到了错误。

const options = 
            index: config.aws.es.index,
            body: bulkBody,
            retry_on_conflict: 5
           // retryOnCflict: 5 (Tried this also) 
        ;
        
        
        client.bulk(options, (err,  body ) => 
            if (err) 
                reject(err);
             else 
                // console.log('ES bulk result: %j', body);
                resolve(body);
            
        );

错误:

warnings: [
'Client - Unknown parameter: "retryOnConflict", sending it as query parameter'
],

任何人帮助我如何在 client.bulk() 中添加 retry_on_conflict。

【问题讨论】:

【参考方案1】:

在批量请求的正文中添加retry_on_conflict,如here所示

【讨论】:

以上是关于如何使用 client.bulk 方法在弹性搜索中设置冲突重试的主要内容,如果未能解决你的问题,请参考以下文章

如何使用弹性搜索索引 10 亿行 CSV 文件?

如何在弹性搜索中使用纬度经度搜索位置附近的区域

如何模拟弹性搜索服务的批量方法

如何使用 curl 在弹性搜索中删除 arraylist 值?

如何为mongodb数据库创建一个平面文件,以及如何在弹性搜索和kibana中使用该平面文件来查询数据?

如何在弹性搜索查询中组合和