Compare search services

Compare advantages/disadvantages

Sitefinity CMS supports the following search services out of the box: Lucene.NETAzure Cognitive Search service, and Elasticsearch service. By default, Sitefinity CMS uses Lucene, but you can switch between search services or tune their settings. To help you choose which search service suits your needs best, examine the following summary of advantages and disadvantages for each option.

  Lucene (default)  Azure Cognitive Search  Elasticsearch
Advantages 
  • Local storage (index data is stored on the file system, so it is easy to backup)
  • Fast performance
  • Free of charge (no additional subscription needed)
  • No need to configure additional resources 
  • Unlimited indexes
  • Decouples the search index data from the local storage
  • The search index can be easily consumed by other applications
  • Maintenance by Microsoft (upgrades, new features, and so on)
  • Decouples the search index data from the local storage
  • The search index can be easily consumed by other applications
  • Free of charge (no additional subscription needed)
  • Powerful fluent API
  • Fast performance
Disadvantages 
  • When the search index is in the cloud in a load balanced (NLB) configuration, modifying the data may lead to concurrency issues*
  • Search index cannot be easily consumed by other applications 
  • Azure Cognitive Search subscription is not free of charge
  • Requires additional setup in Sitefinity
  • Slower than Lucene and Elasticsearch
  • Limited extensibility
  • The default analyzer does not support logographic alphabets such as Chinese and Japanese
  • Requires additional setup: JAVA application server with Elasticsearch configured, as well as configuration in Sitefinity

(*) To avoid potential issues, the index data must be stored on a network location to make it reusable on multiple instances. For more information, see Change the location of the Lucene search index files.

NOTE: If you use Lucene in a Cloud deployment of Sitefinity (CI/CD setup), you must ensure that the ~/App_Data/Sitefinity/Search folder is included in your deployment package. 

Compare performance

The following performance test compares the performance of the three search services. The test does not account for machine parameters but highlights the importance of where the server is located. The test scope includes the search for different news items and the following context:

  • 50 concurrent users
  • Time period is 10 minutes
  • Azure Cognitive Search service is running in the cloud
  • Elasticsearch is running on the same machine
  • Lucene uses local storage for index data

The following diagram illustrates the performance test results:

SearchServicesComparison 

In general, all supported search services perform fast and return results within less than 0.5 second even on a high load.

If you deploy Sitefinity CMS on Azure and use Azure Cognitive Search in a closer location, the search service will perform faster. 

Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

Web Security for Sitefinity Administrators

The free standalone Web Security lesson teaches administrators how to protect your websites and Sitefinity instance from external threats. Learn to configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

Foundations of Sitefinity ASP.NET Core Development

The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

Was this article helpful?