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