Indexing Tutorial
Last updated
Was this helpful?
Last updated
Was this helpful?
The Indexing service is designed to manage indexing configuration. Currently, the index provider supported in Commerce Engine is Algolia. Proper indexing allows you to enhance your search mechanism within Emporix system. By connecting your Algolia instance to Commerce Engine, you get an improved search functionality.
For every tenant, new Algolia credentials are created and kept as AlgoliaClient
.
The Indexing service uses separate API keys for every tenant, so that you get more flexibility in configuration.
To create indexing configuration, send a request to the Creating new configuration endpoint.
curl -L \
--request POST \
--url 'https://api.emporix.io/indexing/{tenant}/configurations' \
--header 'Content-Type: application/json' \
--data '{
"active": true,
"searchKey": "84dc4886f81f805c42bdd89d64de751a",
"applicationId": "8AP2HABA2I",
"indexName": "exampleTenant",
"writeKey": "51ebe89215dddcf85e5dacd5643d17e7",
"provider": "ALGOLIA"
}'
To update the index configuration you need to retrieve the writeKey
first.
Send the request to the Get configuration by provider name endpoint.
curl -L \
--url 'https://api.emporix.io/indexing/{tenant}/configurations' \
--header 'Accept: */*'
To change configuration, make a call to the Update configuration by provider name endpoint, providing the writeKey
from the previous step.
curl -L \
--request PUT \
--url 'https://api.emporix.io/indexing/{tenant}/configurations/{provider}' \
--header 'Content-Type: application/json' \
--data '{
"active": true,
"searchKey": "84dc4886f81f805c42bdd89d64de751a",
"applicationId": "8AP2HABA2I",
"indexName": "exampleTenant",
"writeKey": "51ebe89215dddcf85e5dacd5643d17e7",
"provider": "ALGOLIA"
}'
To apply your configuration changes to existing data, run the reindexing process. See the How to reindex existing products section.
Usually, reindexing runs upon the update of a product or its dependant entity, such as category, price, or media. The scheduler job discovers what has been changed and pushes the changes to index frequently. But, if you change your index configuration, you need to trigger the reindexing process to apply your configuration changes. You can run the reindex without the need to update all your resource data by sending the request to the Reindex endpoint.
curl -L \
--request POST \
--url 'https://api.emporix.io/indexing/{tenant}/reindex' \
--header 'Content-Type: application/json' \
--data '{
"mode": "FULL"
}'
This operation starts the full reindexing mode.
How to retrieve public search configuration
If you want to get your storefront index configuration without the need to update, you can call the public endpoint to get the searchKey
. Send the request to the Get all public configurations endpoint.
curl -L \
--url 'https://api.emporix.io/indexing/{tenant}/public/configurations' \
--header 'Accept: */*'
You can choose between two indexing strategies for your search index configuration: MERGE
and SPLIT
. MERGE
strategy creates a single index for all sites declared in the system, while SPLIT
creates a separate index for each site.
To choose the right mode for your index, send the request to the Updating a configuration endpoint.
curl -L \
--request PUT \
--url 'https://api.emporix.io/configuration/{tenant}/configurations/{propertyKey}' \
--header 'Content-Type: application/json' \
--data '{
"key": "indexing_siteAwareFieldsStrategy",
"secured": false,
"value": {
"strategy": "SPLIT"
},
"version": 1
}
In the request parameters, for the propertyKey
choose indexing_siteAwareFieldsStrategy
. In the request body, pass the chosen strategy value.Please remain patient as propagating changes to the index strategy may take up to 1 hour, so you might not be able to see the changes instantly.
To test the endpoint, open the API reference below or check the example of a curl request.
To test the endpoint, open the API reference below or check the example of a curl request.
To test the endpoint, open the API reference below or check the example of a curl request.
To test the endpoint, open the API reference below or check the example of a curl request.
To test the endpoint, open the API reference below or check the example of a curl request.
To test the endpoint, open the API reference below or check the example of a curl request.