Code | npm | Code sample
npm install reshuffle-elasticsearch-connector
This connector uses Elasticsearch Node JS Client package.
This package contains a Reshuffle connector for connecting to Elasticsearch.
The following example adds a new entry to an existing index:
const { Reshuffle } = require('reshuffle')
const { ElasticsearchConnector } = require('reshuffle-elasticsearch-connector')
const elasticsearchOptions = {
cloud: {
id:
'<name>:<id>',
},
auth: {
username: '<username>',
password: '<password>',
},
}
const app = new Reshuffle()
const connector = new ElasticsearchConnector(app, elasticsearchOptions)
app.start()
connector.sdk().index({
index: 'game-of-thrones',
body: {
character: 'Daenerys Targaryen',
quote: 'I am the blood of the dragon.'
}
})
N/A
SDK - Retrieve a Node JS Elasticsearch client
Setup Elastic cloud:
- Go to https://cloud.elastic.co/home
- Click
Create deployment
- Provide a name and create
- Copy the username/password
- Click on your deployment in the deployment list
- copy the cloud ID which is :
- See Configuration Options below for how to connect to this Elasticsearch cloud instance.
The Elasticsearch connector takes the same options as the Node JS Elasticsearch client. See Node JS Elasticsearch Client options
As an example, for connecting to elasticsearch cloud, provide options as below:
const connector = new ElasticsearchConnector(app, {
cloud: {
id:
'<deployment-name>:<key>', // Cloud ID (see Setup Cloud Elasticsearch above for obtaining this id)
},
auth: {
username: '<username>',
password: '<password>',
},
})
All actions are provided via the sdk. // See full list of actions in Node JS Elasticsearch Client API reference
Return a Node Elasticsearch Client
const sdk = await connector.sdk()
- Search entries
const entries = await connector.sdk().search({
index: 'my-index',
from: 20,
size: 10,
body: { foo: 'bar' }
}, {
ignore: [404],
maxRetries: 3
})
- Add entry
await connector.sdk().index({
index: 'game-of-thrones',
body: {
character: 'Ned Stark',
quote: 'Winter is coming.'
}
})