1

I am new to Sitecore and want to know if I need to point my CM server and CD server to same Solr URL?

Thanks

1
  • Yes you can have a separate Solr instance for CM and CD. Commented Aug 12, 2020 at 17:34

1 Answer 1

8

The short answer is YES. But for Solr on a large scale production environment, there will be multiple instances. Generally, there are two possible ways to set up the multi-instance Solr production environment for Sitecore -

  • Solr Master-Slave Replication
  • SolrCloud

Solr Master-Slave Replication - To create minimal production Solr environment we need at least 2 Solr servers: Master and Slave. The role of the Master instance is to update & read search indexes. Solr Slave can only be used to read indexes, not for updates. Additionally, Slave periodically polls Master for the latest version of the index, if there are any, new indexes are replicated from Solr Master to Slave. In Master salve, you can have two types of approaches -

  • Single URL for Load Balancer - In this case, you will have a single URL of LB, and LB will handle the GET and POST for master and slave where Master will use to update the indexes and slave will use just for read/search the indexes. enter image description here

  • Master URL for CM and LB URL for CDs - In this approach, you will have multiple salves, and all are set on Load Banalcer. and You CM will connect with Solr Master directly and it will update the indexes. CDs will only read the indexes from the slave using LB URL. In this approach, you need to configure your Sitecore so that it will handle the indexing of both master and web databases from CM. enter image description here

SolrCloud - SolrCloud is a more modern way to create high performance and highly available Solr cluster. It simplifies some manual tasks needed to build index replication and sharding.

  • Index replication: copying whole index to other Solr instance. Used to improve performance and availability.

  • Index sharding: dividing the search index into multiple Solr instances. Used to improve performance, if the index is too large to be handled by a single machine.

SolrCloud also gives automatic fail-over for both index search as well as for index update. similar to master-slave, Updating the index is executed on one of the Solr nodes in the cluster, called the leader. Generally, we use ZooKeeper to configure the nodes in the cloud.

There are few services also available for Solr such as https://www.searchstax.com/ which gives Solr-as-service, where you don't need to worry about the overall configuration of the solr.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.