Sitecore and Solr -- How to Integrate Apache Solr with Sitecore 9.1 using SearchStax


Overview

SearchStax® can be used to enable Apache Solr on a Sitecore 9.1 website.

This page demonstrates how easy it is to connect Sitecore to a SearchStax Solr cluster. SearchStax has created a PowerShell Core script that automates the steps of preparing Solr for Sitecore integration. This script is available to SearchStax clients free of charge from our Github site.

Contents:

  1. Install Sitecore 9.1 without Solr
  2. Create a New Deployment in SearchStax.
  3. Run the SearchStax Sitecore Plugin.
  4. Populate Schema from the Control Panel in Sitecore.

Deprecated: Integrate Apache Solr with Sitecore 9.1 without SearchStax Sitecore Plugin

Install Sitecore 9.1 without Solr

Windows 10 Required

Note that a stand-alone installation of Sitecore 9.1 requires a Windows 10 computer. Other prerequisites may be found in the Sitecore installation documents.

This section describes how to install Sitecore 9.1 locally without Solr. We'll connect it to a SearchStax Solr deployment in a subsequent step.

  1. Visit the Sitecore Experience Platform 9.1 Initial Release page. Under Download Options for On Premises Deployment, download Packages for XP Single.

    SearchStax Solr Sitecore

    Farther down the same web page, under Release Information, download the Installation Guide and the Quick Installation Guide.

    SearchStax Solr Sitecore
  2. With the exception of Solr, install all the prerequisite sub-components as mentioned in the installation guide.

  3. Make the following changes in the configuration files.
    1. XP0-SingleDeveloper.ps1: Change the $Prefix to "sitecore".
      SearchStax Solr Sitecore
      Comment out the Solr root and service details:
      SearchStax Solr SitecoreSearchStax Solr Sitecore
    2. XP0-SingleDeveloper.json: Comment out or remove the XConnectSolr and SitecoreSolr "includes:"
      SearchStax Solr Sitecore
    3. Sitecore-XPO: Comment out or remove the UpdateSolrSchema task:
      SearchStax Solr Sitecore
    4. xconnect-xp0: Comment out or remove the ConfigureSolrSchemas task.
      SearchStax Solr Sitecore
  4. Once all the above changes have been made, go ahead with the Sitecore installation by running the PowerShell script .\XP0-SingleDeveloper.ps1 as recommended in the Sitecore installation guide.
    SearchStax Solr Sitecore

Create a New Deployment in SearchStax

Assuming you have already created a SearchStax account and do not already have a deployment set up, click on the Cloud Manager tab and then click on the Create Deployment button at the top. Enter a deployment name, and select the most appropriate provider, region, plan, and Solr version for your needs. SearchStax Solr Sitecore

Cloud Provider

A self-managed Sitecore project may use any of our cloud providers for the Solr deployment.

Single Node or Cluster

Sitecore will work with a single-node deployment (the "NDN" series of SearchStax deployments) for purposes of testing and evaluation. However, a production system requires a SearchStax cluster (the "NDC" series) to provide high-availability and failover features.

Sitecore/Solr Compatibility

Sitecore 9.1 is known to be compatible with Solr 7.2.1. Other combinations may or may not work. See Sitecore's Solr Compatibility Table for further information.

Once you create your deployment, you will see it in the Solr Deployments dashboard.
SearchStax Solr Sitecore
Clicking on the name of the deployment gives you pertinent information about your deployment's servers. The Solr HTTP Endpoint takes you to your Solr server dashboard.

Run the SearchStax Sitecore Plugin

This script is used to connect a Sitecore XP0 installation to a SearchStax Solr instance.

Run the Plugin on the Sitecore Computer

The SearchStax Sitecore Plugin must be run on the same Windows computer as your Sitecore instance.

The script automates the following parts of the procedure:

Download the Plugin

The first step is to visit the SearchStax Gibhub site and download the SearchStax Sitecore Plugin zip file.

Unzip the file to a convenient location. This creates the searchstax-sitecore-plugin-1.0 directory.

Install PowerShell Core and Yami Module

PowerShell Core is the open-source version of PowerShell. It has special capabilities that are required by the SearchStax Sitecore Plugin.

We assume you are on a Windows 10 computer. Open PowerShell, and install PowerShell Core 6 using the following command:

Windows PowerShell:

> iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"

Exit Powershell and start Powershell Core as the Administrator. Now install the powershell-yaml module:

Windows PowerShell Core:

> Install-Module powershell-yaml

Edit Plugin Configuration

Edit the config.yml file in the searchstax-sitecore-plugin-1.0 directory. Enter the following configuration parameters:

settings:
  accountName: "SearchStaxAccount"
  deploymentUid: "ss881269"
  sitecorePrefix: "sitecore"
  pathToWWWRoot: "C:\\inetpub\\wwwroot"
  solrUsername: ""
  solrPassword: ""
  sitecoreVersion : "9.1.1" #Supported versions - 9.0.2 and 9.1.1
Name Description Example
accountName Name of the SearchStax account ABCInternational
deploymentUid UID of the SearchStax deployment to connect to ss123456
sitecorePrefix Prefix of the sitecore installation sitecore
pathToWWWRoot Path to wwwroot folder in inetpub, i.e. your %IIS_SITE_HOME% variable C:\inetpub\wwwroot
solrUsername Solr Basic Auth username (Optional)
solrPassword Solr Basic Auth password (Optional)
sitecoreVersion Version of Sitecore (9.0.2 or 9.1.1) 9.1.1

Run the SearchStax Sitecore Plugin

From Powershell Core, run as Administrator, navigate to the searchstax-sitecore-plugin-1.0 directory.

Change the execution policy to skip checking.

Windows Powershell Core:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

Run the sitecore-searchstax-connector.ps1 script.

Windows Powershell Core:

> .\sitecore-searchstax-connector.ps1

The script will prompt you for your SearchStax user name and password. The script may take a few minutes to run, during which it will notify you of its actions.

Populate Schema from the Control Panel in Sitecore

Follow these steps to populate the Solr schema:

  1. Log in to the Sitecore Content Management environment.
  2. Open the Sitecore Control Panel.
  3. In the Indexing tab, click Populate Solr Managed Schema.
  4. Select all indexes and click Populate.
  5. On the same page, go to the Indexing Manager, select all, and click Rebuild.

Sitecore Solr SearchStax schemas
Sitecore Solr SearchStax schemas

Questions?

Do not hesitate to contact the SearchStax Support Desk.