工作中搜索引擎选型调研记录

本文详细比较了Solr和ElasticSearch在搜索引擎领域的优缺点,指出ElasticSearch在分布式、实时搜索、社区活跃度及易用性上更具优势,尤其适合大规模生产和扩展场景。
摘要由CSDN通过智能技术生成

1. 主流搜索引擎

在实际业务中,当搜索的速度,性能和高可用性是核心要求时,对TB和PB的数据执行搜索可能会遇到挑战,此时就需要用到分布式全文检索。了解过搜索引擎的应该清楚,目前最热门的两款开源的搜索引擎,Solr和ElasticSearch都是非常不错的选择。

2. Solr 和 ElasticSearch 比较

2.1 Solr 优缺点

2.1.1 Solr 优点

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

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

  3. Solr 比较成熟、稳定。

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

2.1.2 Solr 缺点

  1. 建立索引时,搜索效率下降,实时索引搜索消息不高。
  2. 登录认证不够友好。

2.2 ElasticSearch 优缺点

2.2.1 ElasticSearch 优点

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

  2. ElasticSearch 完全支持 Apache Lucene 的接近实时的搜索。

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

  4. Hadoop 可以使用 ElasticSearch-Hadoop (ES-Hadoop) 连接器,利用 ElasticSearch的实时搜索和分析功能处理大数据。

2.2.2 ElasticSearch 缺点

  1. ElasticSearch在技术上是开源的,但并非完全开源。

2.3 流行趋势

毫无疑问,ES 已经成为全文索引的事实霸主,名气在国内赶超 Solr。通过 Google 搜索趋势对比发现,ES 比 Solr 更加有吸引力,Solr 反而有下降的趋势。

2.4 检索速度

当单纯的对已有数据进行搜索时,Solr 更快。

当实时建立索引时,Solr 会产生 IO阻塞,查询性能较差,ElasticSearch 具有明显的优势。

随着数据量的增加,Solr 的搜索效率会变得更低,而 ElasticSearch 却没有明显的变化。

2.5 搜索

Solr专注于文本搜索,而ElasticSearch则常用于查询、过滤和分组分析统计

因此当比较两者时,对那些不仅需要文本搜索,同时还需要复杂的时间序列搜索和聚合的应用程序而言,毫无疑问ElasticSearch是最佳选择。

2.6 社区

Solr 拥有更多、更成熟的用户、开发者和贡献社区。网上可以搜到大量文档,以及问题解决案例。

ElasticSearch 虽然发布时间较短,但是发展迅速,很多知名公司都在使用。社区虽然小,但是很活跃。所以完全不必担心。

2.7 可扩展性和分布式

ElasticSearch默认是集群化的(即使是在单台服务器上运行,也称之为集群),并且总是可以添加更多的服务器用于增加容量或者容错性。类似的,如果负载较低的时候,可以很容易地从集群中移除服务器,降低成本。

SolrCloud 是 Solr 提供的分布式搜索方案。 SolrCloud 是基于 Solr 和 Zookeeper 的分布式搜索方案 。在分片或节点故障的情况下, SolrCloud 重新平衡是复杂且难以管理的

2.8 配置管理

ElasticSearch 的一个强项是默认配置对程序员非常友好,入门非常容易。很多功能都是开箱即用,并不需要用户去配置。ElasticSearch帮助我们从复杂的配置中解脱出来,将更多的时间和精力放在其他事情上。

Solr 的配置太过于灵活,给了用户很多犯错误的可能。但 Solr 的定制能力更强,几乎什么都可以配置。对于开发者来说,要实现一个新的功能,可以不用动 Solr 核心代码,而给 Solr 增加一些 Processor 和 Component,然后通过 XML 配置服务器的行为。

2.9 结论

最终搜索引擎选型是:ElasticSearch

ElasticSearch和Solr的运用非常广泛,**Solr在信息检索领域提供了强大的功能,但是ElasticSearch更易于投入生产和扩展。**没有好坏之分,根据目前实际需求而言,考虑的因素是方便投入生产和扩展、大数据检索、聚合分组计算、多租户等,故最终选择ElasticSearch。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值