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

Reply via email to