NOTE: You are looking at documentation for an older release. For the latest information, see the current release documentation.
Correlation id
editCorrelation id
editCorrelating events can be quite hard, especially if there are many events at the same time. The client offers you an automatic (and configurable) system to help you handle this problem.
const { Client } = require('@elastic/elasticsearch') const client = new Client({ node: 'http://localhost:9200' }) client.on('request', (err, result) => { const { id } = result.meta.request if (err) { console.log({ error: err, reqId: id }) } }) client.on('response', (err, result) => { const { id } = result.meta.request if (err) { console.log({ error: err, reqId: id }) } }) client.search({ index: 'my-index', body: { foo: 'bar' } }, (err, result) => { if (err) console.log(err) })
By default the id is an incremental integer, but you can easily configure that with the generateRequestId
option:
const { Client } = require('@elastic/elasticsearch') const client = new Client({ node: 'http://localhost:9200', // it takes two parameters, the request parameters and options generateRequestId: function (params, options) { // your id generation logic // must be syncronous return 'id' } })
You can also specify a custom id per request:
client.search({ index: 'my-index', body: { foo: 'bar' } }, { id: 'custom-id' }, (err, result) => { if (err) console.log(err) })