Sorl和ES
区别:
1.当实时简历索引的时候,sorl会产生阻塞而es不会,es查询性能要高于sorl。
2.在不断动态添加数据的时候,sorl的检索效率会变的底下而es没有什么变化。
3.Sorl利用zookeeper进行分布式管理,而es自身带有分布式管理功能。
Sorl一般都要部署到web服务器上,比如Tomcat。启动tomcat的时候需要配置Tomcat与sorl的关联。
4.Sorl支持更多的格式数据【xml,json,csv等】而es仅支持json文件格式。
5.Sorl是传搜索应用的有力解决方案,但是es更适用于新兴的实时搜索应用。单纯的对已有数据进行检索的时候,sorl效率更好,,高于es。
6.Sorl官网提供的功能更多,而es本身更注重于核心功能,高级功能多有第三方插件。
solr的优点:
1、和Hadoop什么的结合应该比较好,毕竟都是apache基金会下的
官方的管理端页面比较强大。Solr有一个更大、更成熟的用户、开发和贡献者社区。
2、自带的功能已经很全面,对新手来说更容易上手
3、url查询更适合简单的查询语句,通过url发送请求可以方便地调试
4、支持添加多种格式的索引,如:HTML、PDF、微软 Office 系列软件格式以及 JSON、XML、CSV 等纯文本格式。
5、不考虑建索引的同时进行搜索,速度更快。
solr的缺点:
1、建立索引时,搜索效率下降,实时索引搜索效率不高。solrj效率较低
2、多线程下容易死锁性能降低
ES的优点:
1、Elasticsearch是分布式的。不需要其他组件,分发是实时的,被叫做”Push replication”。
2、Elasticsearch 完全支持 Apache Lucene 的接近实时的搜索。
3、处理多租户(multitenancy)不需要特殊配置,而Solr则需要更多的高级设置。
4、Elasticsearch 采用 Gateway 的概念,使得完备份更加简单。
5、各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作。
ES的缺点:对新手不太友好,上来新建一个集群就是yellow的,还以为有什么问题,而且得装很多插件才真正“可用”