WARNING: Version 5.x has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. 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) })