背景:它们都是基于Lucene搜索服务器基础之上开发,一款优秀的,高性能的企业级搜索服务器。
【高性能是因为他们都是基于分词技术构建的倒排索引的方式进行查询】 但是es是twitte优化过的
- 开发语言: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本身更注重于核心功能,高级功能多有第三方插件。
除了这俩貌似腾讯目前在用的是Hermes,每天可以处理450亿的数据(每条数据1kb左右),数据可以保存一个月之久。震惊~~