Elasticsearch vs Solr: What are the differences?
Developers describe Elasticsearch as "Open Source, Distributed, RESTful Search Engine". Elasticsearch is a distributed, RESTful search and analytics engine capable of storing data and searching it in near real time. Elasticsearch, Kibana, Beats and Logstash are the Elastic Stack (sometimes called the ELK Stack). On the other hand, Solr is detailed as "An open source enterprise search server based on Lucene search library, with XML/HTTP and JSON APIs, hit highlighting, faceted search, caching, replication etc". Solr is the popular, blazing fast open source enterprise search platform from the Apache Lucene project. Its major features include powerful full-text search, hit highlighting, faceted search, near real-time indexing, dynamic clustering, database integration, rich document (e.g., Word, PDF) handling, and geospatial search. Solr is highly reliable, scalable and fault tolerant, providing distributed indexing, replication and load-balanced querying, automated failover and recovery, centralized configuration and more. Solr powers the search and navigation features of many of the world's largest internet sites.
Elasticsearch and Solr are primarily classified as "Search as a Service" and "Search Engines" tools respectively.
Some of the features offered by Elasticsearch are:
- Distributed and Highly Available Search Engine.
- Multi Tenant with Multi Types.
- Various set of APIs including RESTful
On the other hand, Solr provides the following key features:
- Advanced Full-Text Search Capabilities
- Optimized for High Volume Web Traffic
- Standards Based Open Interfaces - XML, JSON and HTTP
"Powerful api" is the primary reason why developers consider Elasticsearch over the competitors, whereas "Powerful" was stated as the key factor in picking Solr.
Elasticsearch is an open source tool with 42.4K GitHub stars and 14.2K GitHub forks. Here's a link to Elasticsearch's open source repository on GitHub.
Uber Technologies, Instacart, and Slack are some of the popular companies that use Elasticsearch, whereas Solr is used by Slack, Coursera, and Zalando. Elasticsearch has a broader approval, being mentioned in 2003 company stacks & 979 developers stacks; compared to Solr, which is listed in 140 company stacks and 42 developer stacks.