You can integrate Elastic Path Commerce Cloud with Elasticsearch quickly and easily in Commerce Manager.
Whenever you publish a catalog, the full catalog will be synced to Elasticsearch. This is triggered using events delivered by a webhook.
- When a catalog is published, a
catalog-release.updatedevent is triggered.
- Once a
catalog-release.updatedevent is received by the webhook, the integration begins to execute.
- The integration performs the following:
- Builds a taxonomy for the catalog.
- Retrieves the mapping for Elastic Path Commerce Cloud fields to Elasticsearch fields.
- Syncs all products to Elasticsearch.
The Integrations Hub is currently in Beta. To gain early access and provide us with feedback on the Integrations Hub, contact your Customer Success Representative.
Collecting Your Setup Information
Before you begin configuring your Elasticsearch integration in Commerce Manager, you need to collect the necessary setup information from Elasticsearch and Commerce Manager.
Collect the following information and make sure you have it available, for example, in a text file, before configuring your Elasticsearch integration in Commerce Manager. If you leave the Elasticsearch Integration page in Commerce Manager, the integration is not saved and you must remove the integration and create a new one.
Collecting Elasticsearch Setup Information
You can find this information in the Management section on the Elasticsearch Dashboard.
|Admin API Token||Your Admin API Key for your Elasticsearch account.|
|Indexing Endpoint||Your Indexing Endpoint for your Elasticsearch account.|
Collecting Commerce Manager Setup Information
Collect the following Elastic Path Commerce Cloud API keys. You can find this information in Settings > Application Keys in Commerce Manager when logged in as a user with Seller Admin privileges.
|Elastic Path Commerce Cloud API Key||Description|
|API Base URL||Your Elastic Path Commerce Cloud API Base URL.|
|Client ID||Your Elastic Path Commerce Cloud Client ID.|
|Client Secret||Your Elastic Path Commerce Cloud Client Secret.|
Configuring the Integration
Now that you've collected the setup information let's begin by configuring the integration.
- Reach the Integrations Hub in Commerce Manager via method provided from your Customer Service Representative.
- Under EPCC Site Search Integrations click on the Elasticsearch Full Catalog Sync Integration.
- Click Configure.
- In the text fields, input the setup information you collected previously.
- Click Activate.
The integration starts an execution which:
- Configures a webhook to listen to the
catalog-release.updatedevent, named EPCC Elasticsearch Integration.
- Creates a flow for containing field mappings between Elastic Path Commerce Cloud and Elasticsearch, called Elasticsearch Mapping.
It is important that you don't delete the Elasticsearch Mapping flow or the EPCC Elasticsearch Integration webhook, or the integration ceases to work.
Now that you've configured the integration, let's learn how you use it.
Understanding Field Mappings Between Elastic Path Commerce Cloud and Elasticsearch
To sync the catalog to Elasticsearch you must map the data to pass from Elastic Path Commerce Cloud to Elasticsearch.
The integration uses a flow to contain the fields that you want to pass from Elastic Path Commerce Cloud to Elasticsearch. These can be any fields you like. There are some special fields and a default set which are created when you first configure the integration. See the table below.
The following table describes some example fields in Commerce Manager and their corresponding fields in Elasticsearch.
|Elastic Path Commerce Cloud Field||Maps to Elasticsearch Field|
|taxonomy||ep_categories. This field is used to trigger the creation of a hierarchy in Elasticsearch.|
Creating New Field Mappings
- In Commerce Manager, go to the Elasticsearch Mapping page under the Flows. (If you just configured your integration, refresh your Commerce Manager tab to pick up the newly added flow from the integration.)
- Click New Entry.
- Create the field mappings you desire by supplying the EPCC Field and the Elasticsearch Field.
- In Elasticsearch, create the fields described above. Refer to the documentation provided with Elasticsearch for more information.