21CTO社区导读:对于大家来讲,Solr和Elasticsearch都不陌生,关于这两种搜索引擎的可扩展性,易部署性以及其它特性有所不同。这篇短文就为大家展示如下:
云计算和大数据增长往往比任何时候都更具备关联性,人们可以使用电脑,智能手机和平板电脑生成和处理几个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
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/257211.html