Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择

这篇具有很好参考价值的文章主要介绍了Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在2010年以Apache 2.0开源协议发布后,Elasticsearch迅速成为全球最受欢迎的企业搜索引擎。

Elasticsearch常与Logstash和Kibana一起部署,这一组合被称为 Elasitc Stack,用于启用日志分析用例,包括应用可观察性、安全日志分析和理解用户行为。

2015年,亚马逊利用这一开源协议推出了Amazon Elasticsearch Service(Amazon ES),这是一个云托管服务,允许AWS客户启动可伸缩的Elasticsearch集群,连接数据源到集群端点,并在云中加载、处理、分析或可视化数据。

然而,Elastic公司最终对亚马逊使用其产品和商标提出了反对,并在2019年因涉嫌商标侵权和虚假广告对这家科技巨头提起诉讼。

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索

https://www.elastic.co/cn/blog/elastic-and-amazon-reach-agreement-on-trademark-infringement-lawsuit

Elastic和亚马逊在2021年解决了这一诉讼,带来了两个重要的发展:

  • 2021年1月,Elastic 公司宣布,从7.11版本开始,Elasticsearch将根据Server Side Public License(SSPL)和Elastic许可证进行授权。这一变化阻止了亚马逊和其他公司在未与Elastic直接合作的情况下提供Elasticsearch服务。

  • 2021年4月,亚马逊宣布,它将从Elasticsearch的最后一个开源版本(7.10.2)分支,推出一个新的开源搜索引擎项目。由于“Elasticsearch”名称不能再使用,新项目被命名为OpenSearch。亚马逊还将OpenSearch作为云服务提供,名为“Amazon OpenSearch Service”。

OpenSearch 官网:https://opensearch.org/

这里务必提醒一句,阿里云早期的搜索引擎也叫OpenSearch 巧合的是,阿里云开放搜索服务也叫OpenSearch,其地址参见:https://developer.aliyun.com/article/67156。

阿里云OpenSearch(开放搜索服务)是阿里云推出的一套自助式、可定制的云搜索服务,初衷是将阿里巴巴积累近10年的搜索引擎技术平台化、服务化,并开放给广大开发者,降低实现专业搜索产品的门槛,让开发者以较低的成本轻松拥有跟淘宝、天猫、一淘等应用的搜索工具类似的专业搜索产品。

本文介绍的是Elasticserach 分支出来的Opensearch,并非阿里云的OpenSearch,特此说明。

在接下来的部分中,我们将更深入地探讨这两种搜索解决方案在过去近3年中如何发展分化,以及哪一个更适合你的AWS日志分析或企业搜索应用。

如下相同点和不同点主要来自:Elastic官网、OpenSearch官网及相关博客。

https://www.elastic.co/cn/amazon-opensearch-service

https://www.elastic.co/cn/elasticsearch/opensearch

1、OpenSearch与Elasticsearch相同点

OpenSearch是从Elasticsearch的一个相对高级的分叉版本开发而来的,所以两个应用在搜索、分析和仪表盘的所有基本功能上都是相同的。

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索

OpenSearch和Elasticsearch都提供了多租户架构和全文搜索、分布式搜索能力的分析引擎。

因此,两者都可以用来满足网站搜索、企业搜索和日志分析的用例。

2、OpenSearch与Elasticsearch:有何不同?

在比较OpenSearch和Elasticsearch时,主要有以下几点不同:

  • 版本

  • 许可证

  • 社区

  • 功能

  • 安全性

  • 性能

  • 价格

2.1 版本大不同

下图显示了Elasticsearch和OpenSearch两个搜索引擎解决方案的独立发展路径和发布节奏。

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索
  • Elasticsearch经过1.X、2.X、5.X、6.X、7.x、8.X版本更新,最终发展到预计在2024年发布的9.x版本。

  • OpenSearch从1.0版本开始于2021年7月发布,然后逐步更新至2.x系列,其中2.6版本预计将是2024年的最后一个2.x系列版本,随后计划发布3.x系列。

2.2 许可证不同

在2021年之前,Elasticsearch在Apache 2.0许可证下可供公众使用。这个许可证允许用户出于任何目的使用、分发或修改软件,以及分发修改后的Elasticsearch版本而无需支付任何版税。

在与亚马逊的争议之后,Elasticsearch现在根据SSPL和Elastic许可证进行授权。这一变化之后,Elasticsearch不再被视为严格意义开源,因为许可证现在要求任何向第三方提供Elasticsearch功能的人必须发布整个源代码和所有第三方运行它所需的API。

OpenSearch目前根据Apache 2.0许可证授权。

一句话说一下SSPL协议和常规开源的不同:SSPL协议要求如果你提供基于此协议软件的服务,必须公开整个服务的源代码,而常规开源软件不需要。

这时候,大家可能在想,我们在使用 Elasticsearch,并没有公开源代码呀。

是这样的,国内能真正基于开源代码二次开发且商业化用途的代码,除了几个BAT、字节等大厂外,屈指可数。

也就是说:通俗说这是针对的类似亚马逊大厂商业化行为的协议!

使用SSPL 协议的部分开源软件如下。

软件名称 使用协议 时间
MongoDB SSPL 2018年10月启用SSPL
Graylog SSPL 2020年11月宣布4.0及以后的版本将使用SSPL
Elasticsearch & Kibana SSPL & Elastic许可证 2021年1月Elastic NV宣布将来版本将使用SSPL和Elastic许可证双重授权

2.3 社区不同

OpenSearch和Elasticsearch都拥有健康、活跃和忠诚的社区,因此两个搜索引擎都不太可能在功能供给上落后太远或很快不再受支持。

Elasticsearch 社区论文比较成熟,官方论坛地址:https://discuss.elastic.co/。

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索

OpenSearch 官方论坛地址:https://forum.opensearch.org/。

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索

我看了一下,OpenSearch论坛问题数和回复数都还没有形成规模。

2.4 功能不同

亚马逊最初分支Elasticsearch 7.10.2创建OpenSearch时,首先必须删除所有不兼容Apache 2.0许可证的代码。

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索

这包括禁用所有收费功能并删除整个Elastic X-Pack代码。

功能 Elasticsearch OpenSearch 备注
许可证 SSPL/Elastic License Apache License 2.0 OpenSearch保持了完全的开源许可
安全功能 部分为付费功能 大部分开源可用 OpenSearch倾向于开源其安全功能
警报和异常检测 付费和开源版本 开源可用 OpenSearch提供开源的警报和异常检测
SQL支持 OpenSearch继承了Open Distro的SQL功能
机器学习支持 付费功能 开源插件形式提供 OpenSearch社区提供ML插件
客户端兼容性 完全支持自家产品 兼容Elasticsearch 7.10 OpenSearch保持对旧Elasticsearch客户端的兼容
社区支持 由Elastic公司主导 社区驱动 OpenSearch鼓励社区贡献和反馈
插件生态 较闭合的生态系统 开放插件生态 OpenSearch促进插件的开源发展
跟踪分析 付费功能 开源可用 OpenSearch提供开源的跟踪分析功能
长期支持版本 提供 提供 OpenSearch承诺提供长期支持的版本

https://github.com/opensearch-project

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索

https://github.com/opensearch-project

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索

2.5 安全性不同

Elasticsearch 和 OpenSearch都配备了许多相同的安全功能。

但是,这些功能都包含在OpenSearch中,而某些功能在Elasticsearch中只对付费客户可用。

如 OpenSearch 官网介绍:其已缺省安全。

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索

Elastic 付费功能清单列表:https://www.elastic.co/cn/pricing

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索

2.6 性能不同

如果你正在进行大规模的搜索操作,你可能会对这两种搜索引擎中哪一个能提供更快查询感兴趣。

Elastic最近发表了一篇博客,标题为“Elasticsearch vs. OpenSearch:揭开性能差距”。文章地址:

https://www.elastic.co/cn/blog/elasticsearch-opensearch-performance-gap

Elastic官网文档强调:“自从 Elasticsearch 的一个早期版本问世以来,OpenSearch 就没有跟上创新的步伐。自 OpenSearch GA 以来,Elasticsearch 在功能创新方面已经超过了 4 倍。”

Elastic官方对比强调,如下图所示——Elasticsearch在各个关键性能指标上的优势,并且更加节约存储资源。

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索
  • 文本查询(Text Querying):Elasticsearch在文本查询性能上比OpenSearch快76%。

  • 排序(Sorting):在排序操作中,Elasticsearch比OpenSearch快58%。

  • 日期直方图(Date Histogram):在进行日期直方图聚合时,Elasticsearch显示出比OpenSearch快81%的性能。

  • 条款(Terms):在处理条款查询时,Elasticsearch的性能比OpenSearch快61%。

  • 范围(Ranges):在范围查询方面,Elasticsearch展现出比OpenSearch快42%的性能。

  • Elasticsearch使用的存储空间比OpenSearch少37%。

这意味着Elasticsearch在处理同等任务时,不仅查询速度更快,而且在存储效率上也更优。

如下截图参见博客:https://www.elastic.co/cn/blog/migrating-1-billion-log-lines-opensearch-elasticsearch

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索

左侧是:Opensearch,右边是:Elasticsearch。明显对比可知:Elasticsearch 较 OpenSearch 节省了 23 %的存储空间。

2.7 价格不同

Elasticsearch和OpenSearch的自我管理版本可以免费下载,但用户需要使用自己的硬件和计算资源来安装、管理和操作它们。

中小企业国内使用 Elasticsearch 居多,普通的免费基本功能基本够用。

而部分商业化银行等大型企业使用 Elasticsearch 商业化功能的也不在少数。

国内还有新特点就是云厂商和Elastic合作紧密,推出的 Elasticsearch 版本。比如:阿里云Elasticsearch、腾讯云 Elasticsearch用得也不少。

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索

Elasticsearch 下载地址:

https://www.elastic.co/cn/downloads/elasticsearch

OpenSearch 下载地址:https://opensearch.org/downloads.html

阿里云Elasticserach:

https://www.aliyun.com/product/bigdata/elasticsearch

腾讯云Elasticsearch:

https://cloud.tencent.com/product/es

2.8 两者可相互导入

OpenSearch 迁移到 Elasticsearch 参见:

https://www.elastic.co/cn/blog/migrating-1-billion-log-lines-opensearch-elasticsearch

Elasticsearch 迁移到 OpenSearch 参见:

https://opensearch.org/docs/latest/upgrade-to/upgrade-to/

3、总结

OpenSearch已发布3年多,Elasticsearch和OpenSearch已存在很多不同,但它们最终都源自同一个版本:Elasticsearch 7.10.2

我们不对Elasticsearch和Amazon OpenSearch之间的选型提供直接的推荐,因为最合适的选择将取决于项目或产品独特的需求和环境。但,文中数据相信会给你提供参考。

建议读者根据自己的具体情况和偏好做出决定,并考虑功能需求、成本效益、长期的技术支持或自身是否具备架构及性能调优等能力。

4、参考

  • https://www.chaossearch.io/blog/opensearch-vs-elasticsearch-comparison

  • https://articles.zsxq.com/id_on65crp8xwfe.html

  • https://www.ruanyifeng.com/blog/2023/07/weekly-issue-264.html

  • https://wx.zsxq.com/dweb2/index/search/Opensearch/alltopics

7 年+积累、 Elastic 创始人Shay Banon 等 15 位专家推荐的 Elasticsearch 8.X新书已上线

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索

更短时间更快习得更多干货!

和全球 近2000+ Elastic 爱好者一起精进!

http://elastic6.cn/——ElasticStack进阶助手

Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择,elasticsearch,开源,大数据,搜索引擎,全文检索

比同事抢先一步学习进阶干货!文章来源地址https://www.toymoban.com/news/detail-830334.html

到了这里,关于Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch 与 OpenSearch:揭开性能差距

    作者:George Kobar, Ugo Sangiorgi   对于任何依赖快速、准确搜索数据的组织来说,强大、快速且高效的搜索引擎是至关重要的元素。 对于开发人员和架构师来说,选择正确的搜索平台可以极大地影响你的组织提供快速且相关结果的能力。 在我们全面的性能测试中,Elasticsearch 成

    2024年02月13日
    浏览(30)
  • 开源的全文搜索引擎Elasticsearch

    Elasticsearch是一个开源的全文搜索引擎,可以实现快速、实时的数据搜索和分析。它是基于Apache Lucene的搜索引擎库开发而来,提供了一个分布式、多租户的全文搜索引擎平台,能够支持海量数据的实时检索、聚合分析和可视化展示。 Elasticsearch 的主要特点包括: 分布式架构:

    2024年02月08日
    浏览(49)
  • springboot项目 用OpenSearch 替换 ElasticSearch

    步骤: 1、修改pom文件 将  替换为 2、修改config配置文件,将elasticsearch 的相关类替换为opensearch 将引入的类改为opensearch 3、代码中操作 opensearch的接口基本不需要改动,只需要将引入的类改为opensearch即可  4、使用OpenSearch 需要jdk11 ,否则编译会报错

    2024年02月04日
    浏览(35)
  • 为什么选择elasticsearch分布式搜索引擎

    elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 例如: 在CSDN上搜索代码 在电商网站搜索商品 在百度搜索答案 elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监

    2024年02月12日
    浏览(54)
  • ElasticSearch系列六:ElasticSearch搜索技术深入讲解(一)

    1.match 手工控制搜索结果精准度         1.1. minimum_should_match 用法         1.2 match底层转换         在ES中,执行match搜索的时候,ES底层通常都会对搜索条件进行底层转换,来实现最终的搜索结果。如         1.2.1(bool + should)          1.2.2(bool + must) 建议: 如果

    2024年02月15日
    浏览(65)
  • 入门ElasticSearch :为什么选择ES作为搜索引擎?

    随着数据量的不断增长,搜索和分析大规模数据集变得越来越重要。传统数据库在面对这种需求时往往表现不佳,这时候就需要一种专门用于搜索和分析的引擎。ElasticSearch (简称ES)就是这样一款强大的搜索引擎,它具有许多优势,使得它成为许多企业和开发者的首选。 简

    2024年02月09日
    浏览(48)
  • ElasticSearch系列七:ElasticSearch搜索技术深入讲解之高亮

    1.高亮显示         在搜索中,经常需要对搜索做高亮显示,高亮显示也有其常用的参数,在这个案例中做一些常用参数的介绍。假如现在搜索cars索引中remark字段中包含“大众”的document。并对“XX”做高亮显示,高亮效果使用html标签span,并设定字体为红色

    2023年04月09日
    浏览(68)
  • ElasticSearch搜索技术深入

    分词器官方称之为文本分析器,顾名思义,是对文本进行分析处理的一种手段,基本处理逻辑为按照预先制定的分词规则,把原始文档分割成若干更小粒度的词项,粒度大小取决于分词器规则。 分词器的处理过程发生在 Index Time 和 Search Time 两个时期。 Index Time:文档写入并创

    2024年04月11日
    浏览(46)
  • Spring Clould 搜索技术 - elasticsearch

      视频地址:微服务(SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式)  1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 例如: 在GitHub搜索代码     在电商网站搜索商品     在百度搜索答案  

    2024年02月05日
    浏览(44)
  • ElasticSearch搜索技术深入与聚合查询实战

    分词器官方称之为文本分析器,顾名思义,是对文本进行分析处理的一种手段,基本处理逻辑为按照预先制定的分词规则,把原始文档分割成若干更小粒度的词项,粒度大小取决于分词器规则。 分词器的处理过程发生在 Index Time 和 Search Time 两个时期。 Index Time:文档写入并创

    2024年02月06日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包