David Ruckman, Senior Consultant
In Sitecore 9 you can use your choice of search providers; Lucene, Solr or Azure Search. When you deploy Sitecore XP to Microsoft Azure using the Marketplace Module, it configures Azure Search for you by default. But what if you want to use Solr instead?
There are several reasons you might want to do this:
Azure Search is limited to 1000 fields in the index. This is fine for Sitecore XP out-of-the-box, but if you start adding modules like SXA, Forms, EXM and Commerce, you will exceed the 1000 field limit and you won't be able to rebuild your index. You can work around this problem by changing your index configurations to decrease the number of fields being indexed, but this can be complex and there's no documentation on which fields may be excluded. Sitecore says they will address this problem in the 9.1 release.Azure Search can be expensive to operate. In our experience running a "Small" sized environment in Azure, the
Azure Search service was by far the most expensive component. And there's no way to turn it off when you're not using it.
To my unscientific observation, Solr seems to perform much better than Azure Search. Index rebuild times are greatly reduced.
I could find no documentation on how to switch Sitecore 9 on Azure to use Solr, so I powered my way through it and made all the mistakes so you don't have to. There were a few challenges along the way, the main ones being that xConnect will not work with Solr if you're using self-signed certs, so you'll need to purchase a domain name and SSL cert from a Certificate Authority. And the other challenge was poking around all the App Services to find the configs that needed to be updated.
But now it's up-and-running, and works like a charm. Here's an overview of what I did to make it work.
Create a new virtual machine in Azure to host your Solr instance
Install Solr on the VM
Purchase a domain name and set up an Azure DNS Zone
Purchase an SSL certificate from a CA and install in Solr
Update Sitecore config files
Test connections, populate schemas and rebuild indexes
Ready to get started? Let's do this thing.
You can read the full article by clicking here.