Elasticsearch is a distributed, free and open search and analytics engine for all types of data, including textual, numerical, geospatial, structured, and unstructured.
View Elasticsearch's documentation.
Supported syncing
Sync Type | Description | Supported Sync Modes | API Reference |
---|---|---|---|
Index documents | Sync data from any source to an Elasticsearch index | Upsert, Update | Index API |
Connect to Elasticsearch
Go to the Destinations overview page and click the Add destination button. Select Elasticsearch and click Continue. You can then authenticate Hightouch to Elasticsearch either with an Elasticsearch Cloud ID and API key or via optional basic authentication.
Authenticate with an Elasticsearch Cloud ID and API key
You can find your Cloud ID in your Elasticsearch deployment. To generate an API key, follow these steps in the Elasticsearch docs.
Authenticate with basic authentication
Enter the following fields into Hightouch:
- Protocol: Select the protocol used for connecting to Elasticsearch. This is either
HTTP
orHTTPS
. - Host: The hostname or IP address of your Elasticsearch server.
- Port: The port number of your Elasticsearch server's HTTP API. The default is 9200, but yours may be different.
- Username: This can be your personal Elasticsearch login or a dedicated user for Hightouch.
- Password: The password for the user specified above.
Sync configuration
Once you've set up your Elasticsearch destination and have a model to pull data from, you can set up your sync configuration to begin syncing data. Go to the Syncs overview page and click the Add sync button to begin. Then, select the relevant model and the Elasticsearch destination you want to sync to.
Syncing to an index
An Elasticsearch index is the place where the data used by a search engine is stored. You can use Hightouch to update individual documents in an index.
Record matching
To match rows from your model to documents in Elasticsearch, you need to select a model column and corresponding Elasticsearch field. You can match on any Elasticsearch field.
Field mapping
You can sync data to both existing fields and fields that don't yet exist in Elasticsearch. If you send data to a field that doesn't exist yet, Hightouch adds the field and automatically detects its type.
Delete behavior
The delete behavior you select dictates what to do when a row no longer appears in your model's query results. You have the following options:
Behavior | Description |
---|---|
Do nothing | Keep the document in Elasticsearch |
Clear | Keep the document in Elasticsearch, but set mapped fields to empty |
Delete | Remove the document from Elasticsearch |
Tips and troubleshooting
Connect to Elasticsearch on AWS
To connect to an AWS hosted Elasticsearch, connect to Elastic Cloud where the instance has a Cloud ID, then generate an API key. If you can't connect via this method, use the basic authentication method to connect with username and password.
There may be compatibility issues across different versions of Elasticsearch. If you receive an error when you test the connection, please for support for your specific version.
If you are running Elasticsearch via Amazon OpenSearch Service, connect directly via the OpenSearch destination
Common errors
To date, our customers haven't experienced any errors while using this destination. If you run into any issues, please don't hesitate to . We're here to help.
Live debugger
Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.
Sync alerts
Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.