Hi, So I was a bit frustrated the other day when all of a sudden my Solr nodes started going into recovery. Everything became normal after a rolling restart, but when I looked at the logs, I was surprised to see --- nothing ! Solr UI gave me no information during recovery. Solr logs gave me no information as to what really happened.
And though I have not had the time to use Elastic-Search yet, a couple of friends have recommended it highly. Here is a graph that shows 30% gain of ES over Solr in less than 2 years: Reference: https://db-engines.com/en/ranking_trend/search+engine Being a long term Solr user, I tried to do a little comparison myself and actually found some interesting features in ES. 1. No zookeeper - I have burnt my hands with some zookeeper issues in the past and it is no fun to deal with. Kafka and Storm are also trying to burden zookeeper less and less because ZK cannot handle heavy traffic. 2. REST APIs - this is a big wow over the complicated syntax Solr uses. I think V2 APIs are coming to address this, but they did come a bit late in the game. 3. Client nodes - No such equivalent in Solr. All nodes do scatter-gather in Solr which adds scalability problems. 4. Much better logs in ES 5. Cluster level stats and hot-threads etc APIs make monitoring easy. So I just wanted to discuss some of these important points about ES vs Solr. At the very least, we should try to improve our logs. When a node is behaving badly, Solr gives absolutely no information why its is behaving the way it is. In the same debugging spirit, the Solr-UI can also be improved to show number-of-cores per node, total number of down/recovering etc nodes, memory/CPU/disk used by each node etc which make the engineer's jobs a bit more easy. Cheers, TI