Switch from Cloud to On-Premises Indexes
Switch from Cloud to On-Premises Indexes
There are many differences between a Cloud and an On-Premises index. Therefore, you need to configure a few things to switch from a Cloud to an On-Premises setup.
Be aware that, because you’re changing the location of your indexes, you’ll need to reconfigure all of your sources, including those external to Sitecore.
If you choose to switch to an On-Premises Free Edition, you won’t be able to add sources external to Sitecore.
Step 1: Install Coveo Enterprise Search (CES) and the Coveo Search API
An On-Premises index is configured using Coveo Enterprise Search (CES), which works in collaboration with the Coveo Search API to allow it to communicate with your Sitecore instance.
For the installation procedure of CES and the Coveo Search API, see Installing Coveo Enterprise Search (CES) On-Premises.
Step 2: Change Your Organization from Cloud to On-Premises
Coveo for Sitecore needs to have access to a Coveo organization, whether you’re using a Cloud or On-Premises installation. However, those organizations are different for Cloud and On-Premises installations, which means that your Sitecore instance will need to connect to a different organization.
-
In the Sitecore Control Panel, under Coveo Search, select Configure.
-
Under Configure Coveo Cloud Organization, click Configure.
-
In the Coveo Cloud Organization panel:
-
If you already have access to an existing On-Premises organization, select it, and click Next.
-
If you don’t have an On-Premises organization, select Create new organization.
-
Under Organization configuration, choose a name for your organization.
-
Under Select your license plan, select On-Premises Free Edition.
-
Click Next.
-
-
-
Your Sitecore instance is now connected to an On-Premises organization.
Step 3: Configure Your Indexing Queue Connection
Your Sitecore instance needs to have access to RabbitMQ, which is installed alongside CES, in order to function properly.
-
In the Sitecore Control Panel, under Coveo Search, select Configure.
-
Under Indexing Queue Connection, select Configure.
-
In the Indexing Queue Connection Configuration panel:
-
In URI:
-
For a local setup, enter amqp://localhost:5682/.
-
For a remote setup, enter amqp://[CES server’s FQDN or alias]:5682/.
-
-
In Username, enter your RabbitMQ username. The default value is
guest
. -
In Password, enter your RabbitMQ password. The default value is
guest
.
-
-
Your Sitecore instanced is now properly configured to communicate with RabbitMQ.
Step 4: Configure CES in Your .config
File
Coveo for Sitecore (March 2017)
You need to connect your Sitecore instance with your CES indexes for your instance to properly function.
-
Open your
Coveo.SearchProvider.Custom.config
file. It’s located under<SITECORE_INSTANCE_ROOT>\Website\App_Config\Include\Coveo
. -
Inside the
defaultIndexConfiguration
node, afterindexCommunicationFactory
, add the following code:<adminServiceConfiguration> <cesMasterInformation> <cesConfigurationPath>C:\CES7\</cesConfigurationPath> </cesMasterInformation> <username> </username> <password> </password> <adminServiceUri>http://localhost/AdminService</adminServiceUri> </adminServiceConfiguration>
This code assumes that you have installed CES locally at the default location. You must adapt the
cesConfigurationPath
to point to the location of your CES. -
Save the file.
Coveo for Sitecore (March 2017)
-
In the Sitecore Control Panel, under Coveo Search, select Configure.
-
Under Admin Service Connection, select Configure.
-
In the Admin Service ConnectionConfiguration panel:
-
If you didn’t secure your Admin Service:
a. Enter the URI where your CES is installed.
b. Click Next.
-
If you secured your Admin Service:
-
Enter the URI where your CES is installed.
-
Click the Use a secure Admin Service checkbox.
-
In Admin Service Username and Admin Service Password enter the credentials you chose when you configured your secured Admin Service.
-
In the Certificate File field, upload the certificate that was generated at the installation of CES. If you didn’t change the path at the installation, the certificate should be in your CES folder on the machine where CES is installed.
-
In Private Key Password enter the key you set for the certificate at the installation.
- In Administrator Username and Administrator Password enter your administrator credentials.
- Click Next.
-
-
-
Your Sitecore instanced is now properly configured to communicate with your CES indexes.
Step 5: Synchronizing Top Results
While a Cloud installation of Coveo for Sitecore relies on Coveo Machine Learning (Coveo ML) to improve search queries, an On-Premises installation uses Top Results. Therefore, you need to reactivate Top Results.
-
Open your
Coveo.SearchProvider.Custom.config
file. -
Delete the following nodes, located at the end of your
sitecore
node.<scheduling> <agent name="CoveoSynchronizeTopResults"> <patch:delete /> </agent> </scheduling>
-
Save and close the file.
Your Sitecore instance is now properly configured to use On-Premises indexes.
Step 6: Setting Up Communication Between the CES Server and the Sitecore Server
If you have installed Coveo Enterprise Search (CES) and Sitecore on separate servers, you must make additional configurations so that the different modules that make up Coveo for Sitecore can communicate with each other (see steps 1 to 4 in Setting Up Coveo for Sitecore in a Remote Server Configuration).
Step 7: Rebuild Your Indexes
Now that you’ve configured Coveo for Sitecore to use On-Premises indexes, you need to rebuild your indexes (see Coveo for Sitecore Indexing Guide).
If you’re using a Pro or Enterprise edition of Coveo for Sitecore On-Premises, you might also want to build your other sources. For more information on how to do that, see Coveo Platform Connectors.