Search Tutorials


Apache Solr vs Elasticsearch | JavaInUse



Apache Solr vs Elasticsearch

Both Solr and Elasticsearch are popular open source search engines built on top of Lucene. Both have vibrant communities and are well documented.
The difference is in the way each builds a wrapper and implements features on top of Lucene.

Apache Solr vs Elasticsearch



Parameter Apache Solr Elasticsearch
History Solr was created by Yonik Seeley at CNET Networks as an in-house project to add search capability for the company website. In the year 2006 it was opensourced. First version of Elasticsearch was released in February 2010. So Elasticsearch is more recent, but has gained popularity quickly
Lucene Development of Lucene and Solr are always merged. So Solr has the same version as that of the latest Lucene release. This is not true in case of Elasticsearch and usually they dont have the latest version of Lucene.
Scalable and Distributed Apache Solr was not designed initially as Scalable and Distributed. Later releases make use of external Apache Zookeeper to achieve it. Elasticsearch was released as truly scalable and distributed. Elasticsearch has a built-in, ZooKeeper-like component called Zen to achieve it.
REST Endpoints Exposes REST endpoints which supports multiple formats like XML, JSON, CSV, and binary. Exposes REST endpoints which supports only JSON.
Push Queries Apache Solr does not support percolation. Percolation is a feature in Elasticsearch that informs the application when new documents match your specified condition.
Ease of Use Previous versions of Solr needed quite a bit of configuration before one could get started. But from Solr 5 release use is very easy. Elasticsearch is very easy to getting started with.
Text Analysis Analyzers should be predefined or configured by using managed APIs. Analyzers can be set even while querying.