Compare search services
Sitefinity CMS has three built-in search services: Lucene, Azure 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
- 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
|
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:
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.