Modern e-commerce platforms demand fast, relevant, and intelligent search experiences. While Optimizely (Episerver) provides robust CMS and Commerce capabilities, scaling search for large product catalogs often requires a more specialised solution.
This is where Searchspring comes in.
In this two-part series, we’ll explore how to integrate Searchspring with Optimizely. In this first part, we’ll focus on the architecture, data flow, and setup.
Optimizely Search & Navigation (Find) is powerful, but in complex commerce scenarios, businesses often need:
Searchspring complements Optimizely by handling search and merchandising, while Optimizely continues to manage content and commerce logic.
A typical Searchspring + Optimizely integration follows this flow:
Key idea:
Search is externalised, but experience stays within Optimizely
The foundation of this integration is the product feed.
You’ll need to push structured product data into Searchspring regularly.
public class SearchspringFeedJob : ScheduledJobBase{public override string Execute(){var products = _productService.GetAllProducts();var feed = products.Select(p => new {id = p.Code,name = p.DisplayName,price = p.Price,brand = p.Brand});_searchspringService.PushFeed(feed);return "Feed synced successfully";}}
Tip: Always validate and transform data before sending—especially brand names and categories.
Once data is indexed, Searchspring exposes APIs for:
fetch(`https://api.searchspring.net/api/search/search.json?siteId=YOUR_SITE_ID&q=fridge`).then(res => res.json()).then(data => {console.log(data.results);});
These APIs become the primary data source for your product listings.
Before moving to implementation, keep these in mind:
At this stage, you now have:
Quick Links
Legal Stuff
