背景
- 它们都是基于Lucene搜索服务器基础上开发,一款优秀的、高性能的企业级搜索服务器
- 都是基于分词技术构建的倒排索引的方式进行查询
- 开发语言:Java语言开发
区别
- 当实时建立索引的时候,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更适用于新兴的实时搜索应用。
5.1 单纯的对已有的数据进行检索的时候,solr效率更好,高于es。 - solr官网提供的功能更多,而es本身更注重于核心功能,一些高级功能多有第三方插件提供。