乐趣区

Solr与ElasticSearch对比

网上有很多 Apache Solr 和 ElasticSearch 之间的比较,我来写写我的看法。

  • Solr 可能是构建标准搜索应用时的首选武器,但 Elasticsearch 将其提升到了一个新的层次,它的架构可以创建现代实时搜索应用。
  • Percolation 是一个令人兴奋的创新功能,这个功能能轻松打败 Solr。
  • Elasticsearch 具有可扩展性、速度快,并且是一个集成。Adios Solr,很高兴认识你。

维基百科上关于 ElasticSearch 的文章引用了德国著名的 iX 杂志的比较,列举了优缺点,基本概括了上面已经说过的内容。

优势

  • ElasticSearch 是分布式的。不需要单独的项目。复制也是近实时的,也就是所谓的 “ 推送复制 ”。
  • ElasticSearch 完全支持 Apache Lucene 的近实时搜索。
  • 处理 multitenancy 不是一个特殊的配置,在 Solr 中需要更高级的设置。
  • ElasticSearch 引入了网关的概念,这使得完全备份变得更加容易。

劣势

  • 只有一个主开发者
  • 没有自动升温功能

总结
它们是完全不同的技术,解决的是完全不同的用例,因此不能进行任何有意义的比较。

关于 ElasticSearch 的部署教程,推荐大家看这篇文章:elasticsearch 初学终极教程: 从零到一

Apache Solr – Apache Solr 提供了 Lucene 的功能,在一个简单易用、快速的搜索服务器中提供了 Lucene 的功能,并具有额外的功能,如分面、可扩展性等。

Amazon ElastiCache – Amazon ElastiCache 是一种 Web 服务,可轻松部署、操作和扩展云中的内存内缓存。

请注意,Amazon ElastiCache 是与 Memcached 协议兼容的,Memcached 是一种被广泛采用的内存对象缓存系统,因此您现在使用现有 Memcached 环境的代码、应用程序和流行的工具都将与该服务无缝地配合使用

也许大家已经把它和下面两个相关的技术混淆了,下面我们来看看这两个相关的技术。

ElasticSearch— 它是一个基于 Apache Lucene 之上构建的开源(Apache 2)、分布式、RESTful、搜索引擎。

Amazon CloudSearch— 亚马逊云搜索(Amazon CloudSearch)是一个完全管理的云端搜索服务,可以让客户轻松地将快速、高扩展性的搜索功能集成到他们的应用中。

Solr 和 ElasticSearch 的产品乍听起来非常相似,都使用了相同的后端搜索引擎,即 Apache Lucene。

Solr 比较老,功能相当丰富,也相当成熟,因此被广泛使用,而 ElasticSearch 则是专门为解决 Solr 的不足之处而开发的,在现代云环境下的可扩展性要求,而这些都是 Solr 难以解决的。

因此,将 ElasticSearch 与最近推出的 Amazon CloudSearch 进行比较可能是最有用的,因为两者都声称在原理上涵盖了相同的用例。

退出移动版