Start of Main Content

Over the past few years, I have completed numerous integrations of Coveo's Search Platform with Sitecore solutions. They have involved using the Coveo Simple Web Service with its out-of-the-box .NET components, as well as with highly custom front-end components tailored to meet project needs.

Each implementation posed unique challenges.  For example, implementations using the simple web service are aided by a fairly intuitive and configurable API but building custom front-ends takes significant amounts of time and inevitably, do not allow all of Coveo's native features to be leveraged.  Alternatively, using the .NET components gets you close to the finish line but you might find yourself locked into a pre-existing  HTML structure and needing to extend Coveo’s complex controls.

At the recent Sitecore Virtual Summit, Coveo presented major improvements to their Sitecore Connector.  The enhancements are aimed at taking advantage of popular Sitecore features such as Page Editor, the Rules Engine, and the new robust search architecture introduced with Sitecore 7.  Coveo provided Velir and myself with a sneak peek into its Sitecore 7 updates, so that we could take them for a spin. Here are my initial thoughts on the updates.

The Highlights:

Ability to Rebuild Coveo Index from Sitecore Control Panel

Coveo’s tighter integration with Sitecore pays dividends right at the outset.  After installing the new Sitecore package you can go directly to the Index Manager in Sitecore (see Figure 1) and (re)build the index.

 

 

While this is useful for general purposes, the true value of this integration is exposed when run for the first time.  The initial build of the Coveo index will create the Coveo Collection, Source and Field Mappings  automatically, which is an immense time-saver when setting up a new Coveo implementation.

Page Editor Enabled Sublayouts

Another major upgrade provided by Coveo was the overhaul of their .NET custom controls  to enable a Page Editor-friendly, search page sublayout.  A major feature of this new control is that all the previous configurations stashed in the Coveo .NET Front-End Admin are now accessible in Sitecore.  Whether it is toggling features on/off or adding filtering or query ranking expressions directly into Sitecore, this is a vastly superior user experience.  Gone is the need to create and manage hub and interface interactions for front-end configurations and bonus points are due for the increased number of configuration options available as compared to the last release.

 

 

Javascript Templating Support

Another wonderful new feature of Coveo’s reconfigured front-end controls is the support for JavaScript templating frameworks.  Coveo now supports the following frameworks: Underscore, Handlebars and JsRender.  This greatly improves a developer’s ability to customize the interface without having to dive into intricate controls to determine how to style components or alter HTML.

A Caveat:

There is just one minor reservation I have with the current beta version - Coveo’s search provider completely replaces the default Sitecore Lucene search provider.  Sitecore provides a fast and efficient filesystem-based approach to searching/indexing content in Sitecore via Lucene.  Switching to Coveo would result in additional query load on the Coveo server which operates over an inherently slower web service.  This may not pose a large concern, especially if your admin environment does see high volume usage.  This point could also be mitigated if a future Sitecore 7 release supports multiple search providers.

In Summary:

Coveo’s improvements to support Sitecore search integrations are a major step forward in its offering and offer a much broader range of options to get up-and-running on a Coveo implementation.  I look forward to working further with this release and taking a deeper look under the hood.  Be sure to check back here, as I hope to pass along any tips or tricks I find along the way.

Published:

Latest Ideas

Take advantage of our expertise with your next project.