Improve user experience by indexing external data to the eZ Platform search engine
Content creation is at the heart of what a Content Management System (CMS) does. We at eZ Systems have been doing this for a number of years, and since 2007 we've offered a powerful search engine to support finding content effectively. With our new focus of providing a platform for building digital experiences we need to reach further for search.
In the past it was easy to assume that our world-class content engine was the hub for all content and data. As the average complexity of eZ Platform implementations increase, we need to provide our partners the tools to integrate into external applications like Product Information Management (PIM) and other back office information management tools.
With our architecture built on the industry standard Symfony framework, we are well positioned to provide a strong technical platform for complex integrations. Working alongside our Content Repository, eCommerce and other APIs, developers are free to use best-in-class tools for their domain specific applications and integrate them seamlessly within the same local codebase or externally using RESTful or GraphQL APIs.
But, for building experiences, technical capability and brilliant execution does not guarantee success. On paper your goals of pulling data from various sources without duplication might be a success, but your customers are not satisfied with your online experience. Your front end might be top notch, but your drop-off rate is still higher than you expect. Why?
In these cases it often boils down to detail, and one thing that often feels like an afterthought is search. Planning and fine tuning search is easily pushed to "phase two", while it may be the tool that most of your visitors use. Take search seriously from day one.
The integrated search engine is extensible
eZ Platform ships by default with a search engine powered by Apache Solr/Lucene. It is not enabled by default, but is highly recommended for most production instances due to increased scalability and improved relevance of search results. Out of the box our search engine will cover all items in the content repository, as well as allow for fine-tuning by boosting fields.
But for highly integrated projects covering the data within our content repository is not enough. In the case of an eCommerce site with deep integrations it might be that you end up with a lackluster on-site search. Your master data for product details can be served directly through a PIM integration, shown alongside marketing copy on the product page. This avoids duplication of content and guarantees that the nitty-gritty details are spot on.
The above is a perfect example of how things should work, but it is easy to miss the integration on the search engine level. If the PIM data is not in the search index then many of your visitors might not find what they are looking for. You can overcome this by making sure all relevant data is included in a single unified search database used by your front end.
As a part of our developer-facing features we've made the eZ Platform search engine extensible. When doing integrations on a field level, for example, you can define a mechanism to enrich the search with additional data. This data can be loaded from any external source, such as the PIM system discussed earlier, provided they have suitable APIs.
It is important to note that the data from the PIM will not be stored in the eZ Platform database, but purely on the stand-alone search engine. Updating this index dynamically upon changes to the external data can be done using an event to call a webhook to trigger reindexing of a specific content or data object. This allows up-to-date results with low latency from a local search engine even for hundreds of thousands or millions of SKUs.
Search is a feature easily forgotten in projects where the focus is reliable data flow between integrations. eZ Platform is designed to be a foundation to build on and its extensible search capabilities enable you to build best-in-class search experiences. Our search engine architecture is pluggable and APIs will keep evolving, possibly adding Elasticsearch support.
It is also worth noting that many content-driven projects can make do with the default configuration of eZ Platform Search Engine or even an external tool like Algolia or AddThis. The power and customizability of having an integration to a sophisticated open source search engine at your disposal can be priceless for complex cases where you need integrations or fine-grained control over access to what is in the document index.
To get started with extending the integrated search engine in eZ Platform, I recommend you head over to the documentation: Extending the Solr Search Engine Bundle. For a more broad understanding of integrations of eZ Platform with Business Systems download our free eBook: E-commerce Integration with ERP and other Business Systems (PIM and CRM)