17611538698
webmaster@21cto.com

Solr 与 Elasticsearch 之简明比较

资讯 0 2041 2018-03-12 12:02:34

21CTO社区导读:对于大家来讲,Solr和Elasticsearch都不陌生,关于这两种搜索引擎的可扩展性,易部署性以及其它特性有所不同。这篇短文就为大家展示如下:


  
ElasticSearch-Vs-Solr.png


云计算和大数据增长往往比任何时候都更具备关联性,人们可以使用电脑,智能手机和平板电脑生成和处理几个Zettabytes(1e + 9TB)数据的应用。随着信息的不断积累,以及对性能的要求越来越高,如何用高效的方式搜索所有这些数据,这是一项相有挑战性的任务。如果不能快速处理,用有组织和可靠的方式处理数据,产品将难以吸引和留住用户。
 
本文向您介绍两种最流行的开源搜索引擎:Solr和Elasticsearch。
 
这两个引擎都是基于Apache Lucene开发的,所以两者具有非常相似的功能。随着不同的哲学和想法不同,两者在可扩展性,易用性和其他特性方面存在着差异。
 
在介绍这两个搜索引擎之前,Lucene上的某些上下文可能会对我们有所帮助。
 
什么是Apache Lucene?
 
Apache Lucene最初于1999年发布,是一个开源的基于Java的文本搜索引擎库,基于Apache服务器使用的开源许可证进行分发,这意味着开发人员可以根据自己的需要自由更改源代码。 Lucene API保持其格式,而不管将被索引的文件的格式如何,使其受到互联网搜索引擎和单站点内部搜索的欢迎。
 
什么是Apache Solr?
 
Apache Solr是一个基于Lucene的开源搜索引擎平台。Solr以非常用户友好的方式提供了Lucene的搜索功能,而且由于它已经存在了十多年,它拥有一个成熟的API与广泛的用户群体。
 
Solr提供复制,负载均衡查询,自动故障转移和恢复以及分布式索引等功能。如果开发人员能够成功地部署和管理Solr,它就能成为一个非常可靠,可扩展以及安全的搜索引擎。 
 
Amazon,Instagram和Netflix等公司都在使用Solr,因为它允许他们一次索引并支持搜索多个网站。
 
什么是Elasticsearch?
 
Elasticsearch在2010年公开发布,它是在Solr之后推出的。
 
Elasticsearch提供了多租户功能,是一个分布式的全文搜索引擎,并带有一个HTTP网页界面。
 
多租户是软件结构,其中一个软件运行实例为单个服务器源的多个用户提供服务,这是Elasticsearch提供的最大功能之一。 搜索引擎允许开发人员将索引划分为包含多个副本。
 
哪个搜索引引擎表现更有效率?
 
虽然Solr和Elasticsearch共享许多相同的功能,但是有一些功能使得Elasticsearch成为更受欢迎的产品。
 
知名的德国iX杂志列出了使用Elasticsearch而非Solr的主要优势,这可能有助于个人试图确定选择哪个选项:
 
1 Elasticsearch是分布式的。
不需要单独的项目文件和副本,几乎是实时的,提供更快捷,更快捷的体验。
2 Elasticsearch支持原始Apache Lucene API的近实时搜索功能。
多租户比Solr需要的更复杂的配置要容易得多。
3 Elasticsearch引入了“网关”的概念,最终使得它更容易运行和恢复完整之备份。
 

作者:Nirmal Suthar
编译:21CTO社区 - 争鸣
来源:https://dzone.com/articles/sol ... rison


评论