Search Options For XM Cloud
As we migrate clients into the Sitecore XM Cloud world, the question asked all the time is "Our users expect a best in class search experience, so what enterprise search options are available with the new Headless Architecture?". While Sitecore brings its own powerful search tool, with Sitecore Search, there are many more options available. In a composable world, there are even more choices than the search tools that integrated directly into the Sitecore platform. Some options are now available that do not have a native connection or integration into Sitecore. This can be seen as either an advantage or disadvantage.
The Good? We have options. We have competition. We have features. It's essential to evaluate your specific needs, budget, and technical requirements before choosing any search tool or platform for your website. Your search tool doesn't need to have a direct integration or module for Sitecore. We'll look at SaaS hosted search products that rely on website content crawling. Think how Google crawls your content without needing custom development. This means your website search does not need an integration with Sitecore itself.
The Bad? Perhaps not necessarily bad, but we have options. Paradox of Choice. In the earlier days of Sitecore, it was a simpler decision-making process: you either wanted search or you wanted great search. The decision was more straightforward, even "out of the box" if you opted for the SOLR route. Woof. If you wanted great search, you paid for it. If you made it that far, there were only 1 or 2 real options. It made the decision easier when there's not much of a decision to make. Don't let the options overwhelm you. Choose the features you want and know you'll need and actually use. In the end, it's about connecting users to the content they are looking for in the least amount of clicks possible.
What should you look for in Search? What problem is your website search solving, besides the obvious that users are looking for content based on input. It's been said "Website Search is an excuse for poor UX". If users were not able to connect to the information, they were looking for directly through as little clicks as possible, they will fall back to your global website search. Global search might be your last chance to make sure users find the exact content they were looking for, otherwise they will assume it does not exist and move on. How do you provide a better search and content discovery experience for your users?
- Search Interface Features: Type Ahead, Auto Complete, Dynamic Facets. Anything that helps your users easily filter and sort results to help them find what they are looking for.
- Unified Search: Index and search across a wide range of content sources, including multiple websites on multiple domains, databases, Product Catalogues, CRM systems, knowledge bases, etc. Unified search ensures users can access information from various sources through a single search interface.
- Personalization: Tailoring search results to user behavior patterns and preferences, potentially boosting more relevant results.
- Analytics and Insights: It's important to report on what users are searching for to understand how they are finding or not finding content they are looking for. Is search connecting users to the wrong content or content you wouldn't expect or want? Are users searching your content by different terms or nomenclature than you'd expect?
- Machine Learning and Relevancy Tuning: Modern search can adjust relevancy and weight results based on your users entering key terms and connecting to content. Based on patterns, some results can be weighted higher over time. This can be incredibly useful to keep you search relevancy on autopilot.
- Website Integration: Is there a pre-built set of components? Is the API? Are API wrappers available? How easy is it to integrate into your own component library? Is there comprehensive, up to date documentation and support?
- Multi-Lingual Content: Do you have a global audience and need multi-language, multi-cultural content support?
- Customer Support and Community Support: It's important to choose a product that you know has good support internally and externally. Are there good development communities built around the product? Active user communities can be beneficial for troubleshooting and sharing best practices.
- Security and Compliance: Are there security features and compliance options to protect sensitive data and ensure regulatory compliance, especially crucial for websites dealing with customer data or commerce data.
Sitecore Search
Sitecore Search is a cutting-edge, AI-powered, headless content discovery platform, empowering users to craft tailored and predictive search encounters across numerous content origins. It offers versatile connectors that users can tailor to retrieve and catalog their content.The Customer Engagement Console (CEC) serves as the operational hub, enabling users to interact with the Sitecore Search system for configuring their Search domain and overseeing all facets of their Search setup. Within the CEC, users can administer content sources, enhance search outcomes, execute A/B testing, and access comprehensive analytical reports, offering insights into the performance of their Search solution, which can be easily shared with stakeholders.
Content Sources in Sitecore Search can index items that are a URL, a PDF document, a Microsoft Word document, or a JSON object, for example. Search creates an index document from a content item as long as it can extract all required attributes. Sources can be configured to crawl your site using a web crawler or an API Endpoint, meaning you can index data from Experience Edge via API Crawler,
Sitecore Search provides both a Sitecore Search JS SDK and UI Components packages. These libraries are meant to get you up and running quickly and are a good starting template for building your own customizations and templates.
Coveo
If you've been on the Sitecore platform in the past, you may already be familiar with Coveo and as an enterprise search option. Coveo For Sitecore has always been an excellent option for Sitecore XP/XM providing rich, powerful search functionality that is integrated directly into the Sitecore Platforming by installing a module. Coveo has even provided a JavaScript UI library, Hive, to quickly integrate with your Sitecore front-end search interfaces out of the box.Coveo is still an option for XM Cloud however with a headless frontend, the fully integrated Coveo For Sitecore product is no longer an option. For XM Cloud, in a composable world, Coveo Relevance Cloud is a SaaS multi-faceted platform that uses search, machine learning, and behavioral signals to increase the relevance of search, content recommendations, and personalized experiences. From a Sitecore integration perspective, Coveo Relevance Cloud relies on scraping website content using a web crawler verses indexing content directly from the Sitecore CM integration. This still provides the same features as before when it comes to ML, query suggestions, relevancy tuning, recommendations and A/B Testing from within the Coveo Dashboard.
From an integration standpoint, there are a few options. Coveo Headless (https://docs.coveo.com/en/headless/latest/) is a headless library that wraps the Coveo API's, allowing you to build and develop your own UI Library and search interfaces. If you're looking for an out of the box, ready to go, library of pre-built components, Coveo Atomic (https://docs.coveo.com/en/atomic/latest/) is a React based library that sits on top of Coveo Headless.
SearchStax Studio
SearchStax is a cloud-based platform and service that specializes in managing and scaling search engines. It primarily focuses on Apache Solr, an open-source search platform widely used for building search applications and providing search functionality to websites and applications. SearchStax simplifies the deployment, scaling, and management of Solr-based search applications such as Sitecore XP and XM non-cloud versions.SearchStax still remains an option for XM Cloud, SearchStax Studio accesses API endpoints using JavaScript that can translate easily into a headless solution. A search API (https://www.searchstax.com/docs/searchstudio/searchstax-studio-search-api/) will allow you to request basic and advanced search results to build into your own custom headless UI. SearchStax also provides a UX Accelerator which gets you moving fast: https://www.searchstax.com/docs/searchstudio/searchstax-studio-ux-accelerator/ including UI and Front-End Tooling for JavaScript (https://www.searchstax.com/docs/searchstudio/searchstudio-ux-js-getting-started/) and Vue.js (https://www.searchstax.com/docs/searchstudio/getting-started-with-searchstudio-ux-vue/) - React is coming soon.
Algolia
Algolia is not a new name in Search options when it comes to Sitecore CMS. This product has been a popular option for Sitecore implementations in the past, providing advanced facets, personalization, analytics, A/B TestingAlgolia can be built with a Web Crawler as we've seen with the other search offerings or push cli and APIs for more control over what gets indexed and when. The Algolia Crawler(
https://www.algolia.com/doc/tools/crawler/getting-started/overview/) is an automated web scraping program. When given a set of start URLs, it visits and extracts content from those pages. It then visits URLs these pages link to, and the process repeats itself for all linked pages. With little configuration the Crawler can populate and maintain Algolia indices for you by periodically extracting content from your web pages.
Integration into your headless architecture is simple with Algolia InstantSearch.js Library. InstantSearch.js is an open-source UI library for Vanilla JS that lets you quickly build a search interface in your front-end application. InstantSearch provides frontend widgets that you can assemble into unique search interfaces.
Elastic Cloud
Elastic Cloud is a cloud-based offering from Elastic, the company behind popular open-source tools like Elasticsearch. Elasticsearch is the underlying search of many other search offerings today. (Including some of the ones mentioned above)
Elasticsearch is a distributed, RESTful search and analytics engine that is commonly used for full-text search, log and event data analysis, and various other data exploration tasks. Elastic Cloud allows users to deploy and manage Elasticsearch clusters in a cloud environment without the need to handle the underlying infrastructure, so it's SaaS.
Elastic typically isn't mentioned in the same sentence with Sitecore as there has never been a native integration or suite of components available that integrate out of the box with your headless site. In fact, nothing is out of the box here. Because we are in a composable architecture, Elastic could be an option, however support and community support from the Sitecore community is not there yet.
Elastic Cloud is available on various cloud platforms, including Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), and others, making it accessible to organizations that prefer different cloud providers. It is a convenient way for businesses to leverage the power of Elasticsearch and related tools without the burden of managing the underlying infrastructure. If you're using it today, it could be an option. It may be more advised to stay on the beaten path with some of the earlier mentioned that have more out of the box components and support, unless you're feeling adventurous.
Conclusion
Remember that the choice of a search product is not one-size-fits-all. It should align with your specific requirements, scalability needs, budget, and user expectations.
If you’re overwhelmed, at Nishtech we can help you simplify the process and decision making. We can guide you comfortably through the selection and implementation process to ensure you make the right choice for your headless site. We have years of extensive experience with the enterprise search applications listed above and integration into Sitecore to fit every need.