Integration Development Checklist
This article provides a quick guide to developing an integration with Ecommerce Search.
Ingestion of data
-
Segments must be created for each market/language where searching/browsing is relevant
-
Setup ingest of product data:
- Create integration with PIM/ERP for master product data
- Create integration with PIM/ERP for product variant/SKU data
-
Setup ingest of content based on content data source:
- Bizzkit CMS Integration.
- Bizzkit Classic CMS Integration.
- Third party source require a custom integration.
-
Setup ingestion of price updates:
- If price updates are known ahead of time use the planned price changes feature.
- Alternatively call the SKU patch endpoint to update prices.
-
Setup automatic updates to commercial parameters:
- A Google Analytics integration is available as standard.
- Other sources must use the commercial parameter ingest API
Configure search
-
Create relevant scopes on each segment.
- Define the fields to be returned in each scope. Return only the fields required to display results within the defined scope type for best performance.
- Express business logic with domain filters by filtering the dataset, e.g. allow users to view only a limited set of products.
-
Configure searchable fields
- Exercise restraint, searching in fewer fields will probably lead to more predictable results.
-
Configure allowed filters
- Select fields that users can use to filter results.
-
Configure allowed sorting
- Select fields that users can use to sort results.
-
Create domain filters with Authenciated Search to prevent users from changing filters.
Warning
If there is data that should not be accessed without an authenticated search, it is important to set domain filters on scopes, otherwise users will still be able to browse whatever they want.
Integrate search
For search requests, it is recommended to call Ecommerce Search directly from the frontend, as this improves response times. When integrating Ecommerce Search with an existing shop that uses a different search engine, it is advisable to integrate with Ecommerce Search in the same component already used for search, as this is the quickest way to get started. It is also advisable to configure CORS policies for the search endpoints.
The Search API has multiple endpoints available to integrate with. It is possible to integrate with features such as suggestions and did-you-mean through individual endpoints or a combined endpoint with Unified Search.
Tip
It is strongly advised to use Unified Search over individual product/content endpoints:
- Unified Search is easier to integrate with as all search functionality is provided in a single endpoint.
- Unified Search has fallback search.
- Provides better performance as fewer overall requests need to be made to Ecommerce Search to complete a search request.
Use appropriate scopes types
Search requests to Ecommerce Search should always use appropriate scope types. Scope types influence the behaviour of the search engine by enabling or disabling features. Scope types also affect search tracking within Ecommerce Search.
The following general rules should be applied:
- Search result pages should use the
full-search
scope type. - Quick-search should use the
quick-search
scope type. - Product List Pages (PLP) or any page the user navigates through without searching should use the
browse
scope type. - Product Detail Pages (PDP) should use the
details
scope type.
Improving search results
-
Create additional contexts when there is a need to override/customize any of the following
-
Add suggestions using either suggestion generator rules to automatically generate suggestions based on product/SKU data or manually with suggestion candidates.
- Add taboos to prevent unwanted suggestions.
-
Configure text analysis rules to dictionaries:
- Add common misspellings.
- Add hypernyms
- Add synonyms
- Irregular words
- Ignored words