Compare search services

Sitefinity CMS has three built-in search services: LuceneAzure 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 table, summarizing each service's advantages and disadvantages.

  Lucene (default)  Azure Search  Elasticsearch
Pros 
  • Local (stores the index locally, so it is easy to backup)
  • Fast
  • Free of charge (does not need additional subscription)
  • No need to configure additional resources 
  • Decouples the search index from the local storage
  • The search index can be easily consumed from other applications
  • Maintenance by Microsoft (upgrades, new features, and so on)
  • Decouples the search index from the local storage
  • The search index can be easily consumed from other applications
  • Free of charge (does not need additional subscription)
  • Powerful fluent API
  • Fast
Cons 
  • Cannot be used on cloud deployments of Sitefinity
  • When the search index is in the cloud, modification of the search index data is not supported. You can only use the index in read mode
  • Search Index could not be used easily by other applications 
  • Azure Search subscription is not free of charge
  • Requires additional setup
  • Slower than Lucene and Elasticsearch
  • Limited extensibility
  • Requires additional setup: JAVA application server with Elasticsearch configured, as well as configuration in Sitefinity

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 includes the search for different news items and is run:

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

Following are the performance test results:

SearchServicesComparison 

The Azure service is the slowest one but if you deploy Sitefinity CMS on Azure and use Azure Search on a closer location, the search service will also be faster.

In general, all search services have good performance and they return results for less than a half second even on a high load.

Was this article helpful?