NodeJs-ElasticSearch批量API错误处理

NodeJs-ElasticSearch批量API错误处理,第1张

NodeJs-ElasticSearch批量API错误处理

任何一项行动的任何失败都不会影响其他行动。

从elasticsearch bulk api
的文档中:

对批量 *** 作响应是一个大型JSON结构,其中包含执行的每个 *** 作的单独结果。单个 *** 作的失败不会影响其余 *** 作。

在来自Elasticsearch客户的

status
响应中,每个动作对应一个响应,以确定它是否失败。

例:

    client.bulk({      body: [        // action description        { index:  { _index: 'test', _type: 'test', _id: 1 } },         // the document to index        { title: 'foo' },        // action description        { update: { _index: 'test', _type: 'test', _id: 332 } },        // the document to update        { doc: { title: 'foo' } },        // action description        { delete: { _index: 'test', _type: 'test', _id: 33 } },        // no document needed for this delete      ]    }, function (err, resp) {        if(resp.errors) {console.log(JSON.stringify(resp, null, 't'));        }    });

响应:

    {        "took": 13,        "errors": true,        "items": [     {  "index": {          "_index": "test",          "_type": "test",          "_id": "1",          "_version": 20,          "_shards": {       "total": 2,       "successful": 1,       "failed": 0          },          "status": 200  }     },     {  "update": {          "_index": "test",          "_type": "test",          "_id": "332",          "status": 404,          "error": {       "type": "document_missing_exception",       "reason": "[test][332]: document missing",       "shard": "-1",       "index": "test"          }  }     },     {  "delete": {          "_index": "test",          "_type": "test",          "_id": "33",          "_version": 2,          "_shards": {       "total": 2,       "successful": 1,       "failed": 0          },          "status": 404,          "found": false  }     }        ]}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5007759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存