- Before you start
- Search and Relevance
- On-Premises Only Topics
Coveo for Sitecore Scaling Guide
For websites with low traffic, one Sitecore server may be enough. However, as the load of a website increases over time, more servers may be required. Sitecore offers the ability to scale a website infrastructure in many ways, for example by having many content management (CM) servers and many content delivery (CD) servers. Additionally, Sitecore may also need to connect to an SQL cluster if necessary, which further complexifies the overall topology.
A content management instance is a type of Sitecore instance used for authoring Sitecore content. The content management hosts aren’t publicly accessible from the web.
A content delivery instance is a type of Sitecore instance used solely to show the website publicly. Sitecore content authoring tools should be disabled on these instances.
Coveo Enterprise Search (CES) Main Instance
This is the main CES instance. This instance is responsible for indexing and querying documents. When there are mirrors, the main instance is also responsible for replicating changes to the mirrors.
The Coveo Platform scales by nature. This service is responsible for indexing and querying documents.
Set Up the Sitecore Infrastructure
The following diagram shows how to implement the following environment, which is composed of two content management hosts, two content delivery hosts, and an additional database (
pub) that’s used for the public website. All databases are installed on a single SQL Server host.
This schema was borrowed from the Sitecore Scaling Guide. It illustrates the exact environment that needs to be replicated.
The environment is composed of the following hosts:
SQL: this host holds all the databases. Web could have an SQL cluster with several hosts; it would be the same in Sitecore.
CM1 & CM2: the content management hosts.
CD1 & CD2: the content delivery hosts.
In this scenario, you’ll be installing CES on a separate server named
See the Sitecore Scaling Guide to replicate and configure the Sitecore infrastructure described above.
Install and Configure Coveo Enterprise Search (CES)
Now that the Sitecore infrastructure is built, you’re ready to install Coveo Enterprise Search (CES). In this tutorial, you would be installing CES on a server named
CES. For more information, see Installing Coveo Enterprise Search (CES) On-Premises.
Since several servers need to communicate with
CES, you need to open the following ports in your firewall:
For the Admin Service, the port is either
443, depending on whether the Admin Service runs in standard or secured mode.
8080: to allow the Sitecore REST endpoint to communicate with the Search API service.
52800: to allow the Search Provider to communicate with the CES instance.
5682: to allow content management hosts to push documents to the indexing queue.
If you installed CES mirror instances, you must open port
52810to allow the main CES instance to communicate with the mirrors.
The above setup isn’t mandatory, and yours will most likely differ, but it will be used as an example for the rest of the scaling guide.
Once your Sitecore ecosystem is all set up, you may proceed to deploying Coveo for Sitecore on your main Content Manager (see Prepare the Sitecore Content Manager for a Scaled Environment).
You should also read the Leading Practices When Deploying Coveo for Sitecore.