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