NOTE: You are looking at documentation for an older release. For the latest information, see the current release documentation.
Correlation id
edit
IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.
Correlation 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)
})