记一下Elasticsearch与Solr Cloud的区别吧,把自己用过的一些记录一下,毕竟在脑子里长久不动也就忘了,写下来不仅能提高自己的记忆力,也能为别人带来参考。利人利己何乐而不为啊。
也希望这篇文章能在你在了解学习两者的过程中带来一些帮助。
- 首先是缓存。Elasticsearch与Solr Cloud在底层都是都是用的lucene,按理说两者的性能应该相差无几的。但是在实际运用过程中,Elasticsearch对于缓存的使用更细微一些,在节点缓存中存储了每个段的查询结果,而且缓存更新机制也相对好一些,在新增文档的时候会同时计算新增的文档是否符合缓存的查询条件,然后把该文档也添加到缓存中。Solr Cloud的机制则不然,它使用的是query级别的缓存,一旦searcher重建,之前的缓存就会失效,需要重新预热缓存,而searcher重建是发生在软提交或者在硬提交的时候显式指定的时候。这就导致了在实时性要求更高的情况下,Elasticsearch的机制更胜一筹。
- 对于索引的数据格式要求不一致。Elasticsearch中索引的数据基本上都是json,而Solr Cloud则支持更多种类的数据。
- 拓展性其实基本差不多。我觉得其实到目前为止,两者的拓展性都还可以吧,在使用的过程中确实Solr的会好一些,但是elasticsearch完全能满足需求。
- 维护。这方面来讲我觉得Elasticsearch完爆Solr Cloud,elasticsearch的各种监控做到确实很完善。。ps:可能我用的solr版本太低了?
- 社区。从目前看elasticsearch发展远比solr快,社区相对solr也更完善了。
- 易用性。elasticsearch开箱即用,比solr要简单不少,虽然精通同样困难,但是门槛要低很多。
总的来说,我觉得在现在技术发展迅速的时代,大多数应用使用elasticsearch更好一些。
网友评论