THIS IS ARCHIVED DOCUMENTATION

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.

  1. In the Sitecore Control Panel, under Coveo Search, select Configure.

  2. Under Configure Coveo Cloud Organization, click Configure.

  3. In the Coveo Cloud Organization panel:

    1. If you already have access to an existing On-Premises organization, select it, and click Next.

    2. If you don’t have an On-Premises organization, select Create new organization.

      1. Under Organization configuration, choose a name for your organization.

      2. Under Select your license plan, select On-Premises Free Edition.

      3. Click Next.

  4. 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.

  1. In the Sitecore Control Panel, under Coveo Search, select Configure.

  2. Under Indexing Queue Connection, select Configure.

  3. In the Indexing Queue Connection Configuration panel:

    1. In URI:

      1. For a local setup, enter amqp://localhost:5682/.

      2. For a remote setup, enter amqp://[CES server’s FQDN or alias]:5682/.

    2. In Username, enter your RabbitMQ username. The default value is guest.

    3. In Password, enter your RabbitMQ password. The default value is guest.

  4. 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.

  1. Open your Coveo.SearchProvider.Custom.config file. It’s located under <SITECORE_INSTANCE_ROOT>\Website\App_Config\Include\Coveo.

  2. Inside the defaultIndexConfiguration node, after indexCommunicationFactory, 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.

  3. Save the file.

Coveo for Sitecore (March 2017)

  1. In the Sitecore Control Panel, under Coveo Search, select Configure.

  2. Under Admin Service Connection, select Configure.

  3. 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:

      1. Enter the URI where your CES is installed.

      2. Click the Use a secure Admin Service checkbox.

      3. In Admin Service Username and Admin Service Password enter the credentials you chose when you configured your secured Admin Service.

      4. 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.

      5. In Private Key Password enter the key you set for the certificate at the installation.

      6. In Administrator Username and Administrator Password enter your administrator credentials.
      7. Click Next.
  4. 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.

  1. Open your Coveo.SearchProvider.Custom.config file.

  2. Delete the following nodes, located at the end of your sitecore node.

     <scheduling>
       <agent name="CoveoSynchronizeTopResults">
         <patch:delete />
       </agent>
     </scheduling>
    
  3. 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.