High Availability in Coveo for Sitecore

Coveo for Sitecore integrates high availability into its infrastructure to improve indexing and decrease query response time. It also ensures that the system is always ready to index items and answer queries with the best latency. Therefore, a user facing a Coveo-powered search page will get a better search experience. 

Indexing High Availability

High availability consists of optimizing performance of a given system in terms of querying and indexing. 

When using Coveo for Sitecore, all content of a website is indexed in the CES Master server. In an on-premises environment, indexing high availability is impossible as there’s only one CES Master server.

Querying High Availability

A website requires efficient indexing to ensure fresh search results. If the CES Master server conducts both tasks alone, it would likely answer queries less quickly or return older results. It could also be less effective at indexing content. A user facing a search page expects low latency and freshness of results to his queries. Since a single CES Master server can’t effectively fulfill these roles, CES mirrors need to be added to the infrastructure. Their purpose is explained in the following section. 

In an on-premises environment, high availability is possible due to mirrors that respond to queries. By configuring one or more mirrors, you duplicate responsivity of the CES Master server. Instead of being the only one responding to queries, it sends copies of items to mirrors, which, without indexing them, are able to send them to the user. This method increases indexing efficiency as the CES master has less queries to answer. In an on-premises environment, you will set up mirrors yourself through changes in configuration in Coveo for Sitecore and Coveo Search API configuration files.

For detailed steps on how to add CES mirrors, see Scaling Out Coveo for Sitecore with CES Mirrors (On-Premises).

The network load balancers (NLB) ensures queries are distributed among mirrors.

In a Cloud environment, high availability isn’t configured by hand. No changes are required in Coveo for Sitecore. Coveo Cloud achieves high availability by handling all underlying systems required to achieve querying freshness and effective indexing.