背景:它们都是基于Lucene搜索服务器基础之上开发,一款优秀的,高性能的企业级搜索服务器。【是因为他们都是基于分词技术构建的倒排索引的方式进行查询】
开发语言:Java语言开发
诞生时间:Solr :2004年诞生。ES:2010年诞生。ES 更新【功能越强大】
区别:
1.当实时建立索引的时候,solr会产生io阻塞,而es则不会,es查询性能要高于solr。
2.在不断动态添加数据的时候,solr的检索效率会变的低下,而es则没有什么变化。
3. Solr利用zookeeper进行分布式管理,而es自身带有分布式系统管理功能。Solr一般都要部署到web服务器上,比如tomcat。启动tomcat的时候需要配置tomcat与solr的关联。【Solr 的本质 是一个动态web项目】
4. Solr支持更多的格式数据[xml,json,csv等],而es仅支持json文件格式。
5. Solr是传统搜索应用的有力解决方案,但是es更适用于新兴的实时搜索应用。
a)单纯的对已有数据进行检索的时候,solr效率更好,高于es。
6. Solr官网提供的功能更多,而es本身更注重于核心功能,高级功能多由第三方插件。
SolrCloud:集群图
Elasticsearch:集群图