Sitecore uses a search engine for two purposes in a standard installation:
- Content search – this is the default search mechanism in Sitecore Experience Management. The search engine indexes and finds content from the
- xConnect search – the Sitecore Experience Platform uses this search. The search engine indexes and finds contacts and interactions in the Experience Database.
Sitecore supports three different search engines: Solr, Azure Search, and Lucene. You must consider several factors, such as the purpose of the specific environment, your scaling requirements, and the hosting environment, when you choose a search engine.
- Solr is the default search engine for content search and xConnect search for on-premise installations. You must use Solr if you have a scaled environment.
- Microsoft Azure Search is the default search engine for cloud deployments on Microsoft Azure PaaS, both when deployed through the default ARM templates and through Azure Marketplace. Note that Microsoft Azure Search has some limitations compared to Solr or Lucene that you must evaluate for your implementation.
- Use Lucene only for a development or single server evaluation environment that runs Sitecore Experience Management. You cannot use Lucene in a scaled environment. You can only use Lucene for content search. xConnect does not support Lucene. We do not recommend or support Lucene in a production environment.
Change your search provider from Lucene to a different provider
You can move from Lucene to Solr or Azure Search. The LINQ queries remain the same, but there are configuration differences and so forth that you need to address. You will also have to rebuild indexes. The move is possible, but it is not a trivial task. You should therefore use Solr or Azure Search if you plan to scale your site or have a distributed setup with multiple servers.
If you do move from Lucene to Solr or Azure Search, be aware that Solr and Azure Search score search results in slightly different ways than Lucene.