搜索引擎学习(二):Elasticsearch与Solr的学习与对比

开始学习之前,先了解一下,具体是什么,能干什么,有个大概了解。方便后面的学习。

ElasticSearch

能做以下功能:

1.      全文搜索功能

2.      分布式文件实时文件存储,并将每一个字段都编入索引,使其可以被搜索。

3.      实时分析的分布式搜索引擎

4.      可以扩展到上百台服务器,处理PB级别的结构化活非结构化数据。

这多的功能被集成到一台服务器上,你可以轻松地通过客户端或者任何你喜欢的程序语言与ES的RESTful API进行交流。

 

优点:

1.      Elasticsearch是分布式的。不需要其他组件,分发是实时的,被叫做”Push replication”。

2.      Elasticsearch 完全支持 ApacheLucene 的接近实时的搜索。

3.      处理多租户(multitenancy)不需要特殊配置,而Solr则需要更多的高级设置。

4.      Elasticsearch 采用 Gateway 的概念,使得完备份更加简单

5.      各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作

 

缺点:

1.      只有一名开发者(当前Elasticsearch GitHub组织已经不只如此,已经有了相当活跃的维护者

2.      还不够自动(不适合当前新的Index Warmup API)

 

 

Solr

(读作“solar”)是ApacheLucene项目的开源企业搜索平台。

其主要功能包括全文检索、命中标示、分面搜索、动态聚类、数据库集成,以及富文本(如Word、PDF)的处理。

Solr是高度可扩展的,并提供了分布式搜索和索引复制。

Solr是最流行的企业级搜索引擎,Solr4 还增加了NoSQL支持。

Solr是用Java编写、运行在Servlet容器(如 Apache Tomcat 或Jetty)的一个独立的全文搜索服务器。

Solr采用了 Lucene Java 搜索库为核心的全文索引和搜索,并具有类似REST的HTTP/XML和JSON的API。Solr强大的外部配置功能使得无需进行Java编码,便可对 其进行调整以适应多种类型的应用程序。Solr有一个插件架构,以支持更多的高级定制

 

 

优点:

1.      Solr有一个更大、更成熟的用户、开发和贡献者社区。

2.      支持添加多种格式的索引,如:HTML、PDF、微软 Office 系列软件格式以及 JSON、XML、CSV 等纯文本格式

3.      Solr比较成熟、稳定

4.      不考虑建索引的同时进行搜索,速度更快

 

缺点:

1. 建立索引时,搜索效率下降,实时索引搜索效率不高

 

 

ElasticsearchSolr的比较总结:

1.二者安装都很简单

2.Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能

3.Solr 支持更多格式的数据,而 Elasticsearch 仅支持json文件格式.

4. Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能, 高级功能多有第三方插件提供

5. Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 Elasticsearch。

6. Solr 是传统搜索应用的有力解决方案,但 Elasticsearch 更适用于新兴的实时搜索应用。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值