solr
和Elasticsearch
的区别:
1)Solr建立索引时候,搜索效率下降,实时搜索效率不高,es实时搜索效率高
2)Solr利用Zookeeper进行分布式管理,而Elasticsearch自身带有分布式协调管理功能。
3)Solr支持更多格式的数据,比如JSON、XML、CSV,而Elasticsearch仅支持json文件格式。
4)Solr官方提供的功能更多,而Elasticsearch本身更注重于核心功能,高级功能多有第三方插件提供
5)Solr在传统的搜索应用中表现好于Elasticsearch,但在处理实时搜索应用时效率明显低于Elasticsearch。
6)Solr是传统搜索应用的有力解决方案,但Elasticsearch更适用于新兴的实时搜索应用。
补充说明:
1)Solr有一个更大、更成熟的用户、开发和贡献者社区
2)Solr支持多种数据格式的索引,比如:JSON、XML、CSV等多种数据格式
3)Solr搜索海量历史数据,速度非常快,毫秒级返回数据
4)es支持分布式,节点对外表现对等,加入节点自动均衡
5)es完全支持Apache Lucene的接近实时的搜索
6)es处理多租户multitenancy不需要特殊配置,而Solr需要更多的高级设置
7)es采用Gateway的概念,使得数据持久化更简单
8)es各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作
使用方式:
1)solr一般要部署到web服务器上,比如tomcat,启动tomcat,配置solr和tomcat的关联
2)es一般可以单独启动,然后es和spring整合,调用SpringDataElasticSearch里面提供的方法