搜索百科(4):OpenSearch — 开源搜索的新选择

news/2025/9/23 23:55:36/文章来源:https://www.cnblogs.com/infinilabs/p/19108386

大家好,我是 INFINI Labs 的石阳。

欢迎关注 《搜索百科》 专栏!每天 5 分钟,带你速览一款搜索相关的技术或产品,同时还会带你探索它们背后的技术原理、发展故事及上手体验等。

上一篇我们围观了 “流量明星” Elasticsearch — 从食谱搜索到 PB 级明星产品,从 Apache 2.0 到 SSPL 协议风波;今天我们来聊聊它的“分叉兄弟” OpenSearch

引言

2021 年,当 Elasticsearch 宣布将其许可证从 Apache 2.0 变更为 SSPL/Elastic License 时,整个搜索社区为之震动。这一变更直接催生了一个新的开源分支 — OpenSearch。这个由 AWS 主导的项目不仅在短短几年内迅速发展成熟,更成为了许多企业在云原生环境下搜索解决方案的新选择。

OpenSearch 概述

OpenSearch 是从 Elasticsearch 7.10.2 分支而来的开源搜索与分析套件,由 AWS 主导开发并贡献给开源社区。OpenSearch 包括 OpenSearch(搜索引擎)和 OpenSearch Dashboards(可视化界面),完全兼容 Apache 2.0 协议,旨在为用户提供一个真正开源、社区驱动的搜索与分析解决方案。

  • 首次发布:2021 年 4 月
  • 最新版本:3.2.0(截止 2025 年 9 月)
  • 开源协议:Apache License 2.0
  • 主导企业:Amazon Web Services (AWS)
  • 官方网址:https://opensearch.org/
  • GitHub 仓库:https://github.com/opensearch-project

诞生故事:开源协议争议的产物

时间回到 2021 年 1 月,Elastic 公司宣布 Elasticsearch 从 7.11 版本起不再使用 Apache 2.0 协议,而改为 Elastic License 与 SSPL。这一决定立刻在社区和产业界引发巨大争议。

AWS(亚马逊云)作为 Elasticsearch 的重要用户与云服务提供商,不愿意被 Elastic 的商业条款所限制,随即牵头将 Elasticsearch 7.10 版本 fork 出来,并与 Kibana 一起重命名为 OpenSearch 与 OpenSearch Dashboards。

从此,开源世界分裂成了两条路线:

  1. Elastic 官方的 Elasticsearch + Kibana(带有商业许可)。
  2. 社区驱动的 OpenSearch + OpenSearch Dashboards(继续遵循 Apache 2.0 协议)。

这个分叉,既是开源协议之争的产物,也是云厂商与开源公司之间博弈的缩影。虽然初期被质疑过“是否真开源”,但经过数年的迭代,OpenSearch 已形成了相对独立的开发节奏和用户群体,插件和生态也逐渐丰富。

技术架构与特性

OpenSearch 是一个基于 Apache Lucene 的分布式搜索与分析引擎。在将数据添加到 OpenSearch 后,可以对其执行各种功能完备的全文搜索操作:按字段搜索、跨多个索引搜索、提升字段权重、按得分排序结果、按字段排序结果以及对结果进行聚合。

OpenSearch 的核心架构由集群、节点、索引、分片和文档组成。最高层是 OpenSearch 集群,它是由多个节点组成的分布式网络,每个节点会根据其类型负责不同的集群操作。数据节点负责存储索引(即文档的逻辑分组),并处理数据写入、搜索和聚合等任务。

每个索引会被划分为多个分片,分片包含主数据和副本数据。分片会分布在多台机器上,从而实现水平扩展,提升性能并高效利用存储资源。

OpenSearch vs Elasticsearch:详细对比

特性 OpenSearch Elasticsearch
许可证 Apache 2.0(完全开源) SSPL/Elastic License/AGPLv3
起始版本 基于 Elasticsearch 7.10.2 从 7.11 开始协议变更
社区治理 开放治理模式,由社区驱动 由 Elastic NV 公司主导
安全性 所有安全功能默认开源 部分高级安全功能需要付费
AI/向量检索 近年快速跟进,兼容性较好 原生支持,功能逐步增强
部署选择 AWS OpenSearch Service / 自建 Elastic Cloud / 自建
升级路径 从 Elasticsearch 7.x 平滑迁移 原生升级路径
社区活跃度 社区逐渐壮大,受到纯开源拥护者欢迎 用户基础庞大,但分裂带来争议

快速开始:5 分钟部署 OpenSearch

1. 使用 Docker 部署

# 拉取 OpenSearch 镜像
docker pull opensearchproject/opensearch:3.2.0# 启动 OpenSearch 节点
docker run -d --name opensearch-node \-p 9200:9200 -p 9600:9600 \-e "discovery.type=single-node" \-e "plugins.security.disabled=true" \opensearchproject/opensearch:3.2.0# 拉取 OpenSearch Dashboards
docker pull opensearchproject/opensearch-dashboards:3.2.0# 启动 Dashboards
docker run -d --name opensearch-dashboards \-p 5601:5601 \-e "OPENSEARCH_HOSTS=http://opensearch-node:9200" \opensearchproject/opensearch-dashboards:3.2.0

2. 验证安装

# 检查集群状态
curl -X GET "http://localhost:9200/"

出现如下结果说明安装成功。

3. 创建索引和搜索

# 索引文档
curl -X POST "http://localhost:9200/my-first-index/_doc" -H 'Content-Type: application/json' -d'
{"title": "OpenSearch 入门指南","content": "这是我在 OpenSearch 中的第一个文档","timestamp": "2025-09-18T10:00:00"
}'# 执行搜索
curl -X GET "http://localhost:9200/my-first-index/_search" -H 'Content-Type: application/json' -d'
{"query": {"match": {"content": "第一个文档"}}
}'

4. 访问控制台

打开浏览器访问 http://localhost:5601 即可使用 OpenSearch Dashboards 界面。

结语

OpenSearch 的出现,是开源社区的一次“自救”。它不仅延续了 Elasticsearch 的核心功能,还代表了另一种治理模式:由云厂商和社区共同维护,保证了开源协议的延续。

在搜索技术的版图里,Elasticsearch 与 OpenSearch 的分叉,注定会成为一个重要的历史节点。未来,两者可能会继续竞争,也可能各自发展出独特的生态。

🚀 下期预告

下一篇我们将介绍 OpenSearch 的另一个兄弟 Easysearch,一个衍生自开源协议 Apache 2.0 的 Elasticsearch 7.10.2 版本的轻量级搜索引擎,作为一个 ES 国产替代方案,看看它如何以其极致的速度和易用性在国内搜索领域占据一席之地。

💬 三连互动

  1. 您是否考虑过从 Elasticsearch 迁移到 OpenSearch?
  2. 在开源协议方面,您更倾向于哪种模式?Apache 2.0 还是 Elastic 的多重许可?
  3. 对于云厂商与开源项目之间的关系,您有什么看法?

对搜索技术感兴趣的朋友,欢迎关注《搜索百科》专栏,一起探讨与学习!

推荐阅读

  • 搜索百科(3):Elasticsearch — 搜索界的"流量明星"
  • 搜索百科(2):Apache Solr — 企业级搜索的开源先锋
  • 搜索百科(1):Lucene — 打开现代搜索世界的第一扇门

🔗 参考资源

  • OpenSearch 官方文档
  • OpenSearch 与 Elasticsearch 功能对比

原文:https://infinilabs.cn/blog/2025/search-wiki-4-opensearch/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么学好网站开发开发网站性能监控

这是王垠发表的一篇文章,转给大家看看,希望有些收获王垠是谁?王垠,四川大学97级本科毕业,保送到清华大学计算机系直博。期间曾在清华大学计算机系软件所就读,主要进行集成电路布线算法的研究。在此期间&…

广州视频网站建站公司做淘宝客网站制作教程视频教程

目的 搜索框搜索内容重载数据只显示搜索到的结果 遇到的问题 在layui官方文档里介绍的table属性有data项,但使用下列代码 table.reload(test, {data:data //data为json数据}); 时发现,会会重新调用table.render的url拿到原来的数据,并不会显示出来传…

美容院怎么建立自己的网站国企网站建设报告

文章目录 Lambda表达式作用前提函数式接口特点 语法省略模式和匿名对象类的区别 Stream流思想作用三类方法获取方法单列集合(Collection[List,Set双列集合Map(不能直接获取)数组同一类型元素(Stream中的静态方法) 常见的中间方法终结方法收集方法 Optional类 Lambda表达式 作用…

网站导航做外链html5视频播放器 js

Deque(双向队列) 是一种优化了的、对序列两端元素进行添加和删除操作的基本序列容器。它允许较为快速地随机访问,但它不像vector 把所有的对象保存在一块连续的内存块,而是采用多个连续的存储块,并且在一个映射结构中保存对这些块及其顺序的跟踪。向deque 两端添加或删除元…

免费的域名注册网站做哪些网站比较赚钱方法

1.ROOT权限开启 2.开启网络桥接模式,选择静态IP设置,点击安装桥接网卡,填写IP地址(注意:IP地址要与host主机在同一IP段内) 3.重启后 adb shell就能进入到模拟器控制台中了,如果出现以下内容&…

公司招聘网站排行榜专业从事网站开发公司

前言 今天参考的开源组件Graceful Response——Spring Boot接口优雅响应处理器。 具体用法可以参考github以及官方文档。 基本使用 引入Graceful Response组件 项目中直接引入如下maven依赖&#xff0c;即可使用其相关功能。 <dependency><groupId>com.feiniaoji…

做网站有什么建议wordpress导航源码

勤劳是最基本的&#xff0c;所能做的就是花更多的时间在上面。 就算最后不能成功&#xff0c;尽力就好。 First . 充分清楚需求改造内容&#xff0c;具体到 哪个字段、逻辑处理等。 这是编码的核心&#xff0c;清楚了需求才能进行编码&#xff0c;也决定了你编码后续的测试情况…

国人在线做网站爱站网长尾关键词挖掘工具下载

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“找不到d3dcompiler_43.dll文件”。那么&#xff0c;d3dcompiler_43.dll是什么文件&#xff1f;它的作用是什么&#xff1f;如果缺失了该如何修复呢&#xff1f;本文将详细介绍d3dcompiler_…

做外贸平台还是网站怎么做捕鱼网站

粒子物理和原子核物理的理论可以应用于模拟和分析电路中的粒子束和辐射效应&#xff0c;特别是在粒子加速器和辐射探测器的设计和优化方面。通过这些理论的应用&#xff0c;可以提高加速器和探测器的性能&#xff0c;推动粒子物理和原子核物理的研究进展。粒子物理和原子核物理…

摄影网站的模板公司大气聚财的名字

前言 在实际开发中,我们经常需要处理一些周期性或定时的任务,比如每天凌晨进行数据统计、报表生成,或者每隔一段时间清理缓存等。Spring Boot 集成了 Quartz 和 Spring 自带的 TaskScheduler 等多种定时任务框架,使得实现定时任务变得非常方便。本文将通过一个详细的示例,…

重庆做网站个人深圳市建工建设集团有限公司官网

给你一个有 n 个结点的二叉树的根结点 root &#xff0c;其中树中每个结点 node 都对应有 node.val 枚硬币。整棵树上一共有 n 枚硬币。 在一次移动中&#xff0c;我们可以选择两个相邻的结点&#xff0c;然后将一枚硬币从其中一个结点移动到另一个结点。移动可以是从父结点到…

莱芜网站建设sikesoft北京网站开发不限年龄

近期&#xff0c;某百万级粉丝网红的法律维权之路引发社会关注。其在面对网络造谣行为时积极搜集证据&#xff0c;使用区块链技术将相关信息上链保全&#xff0c;然后将造谣者全部起诉&#xff0c;一系列操作被广大网友喻为是教科书式网络维权。 科技在发展&#xff0c;时代在…

重庆网站备案多久网站设计需求表

源于个人网站&#xff1a;http://programmer.2008red.com/programmer/article_647_777_1.shtml 收到一封来自Exoweb的邮件&#xff0c;让去面试&#xff08;败的很惨&#xff0c;呵呵。过了好长时间了&#xff0c;都忘记这事了&#xff0c;结果这公司来了邮件&#xff0c;说不能…

用于做网站头的图片小兽 wordpress

目录 一、方法一 采用qrcodejs2生成1.1、安装二维码插件qrcodejs21.2、在vue文件中&#xff0c;引入生成二维码插件1.3、构建二维码对象qrCodeDiv 一、方法二 -采用qrcode生成2.1、安装qrcode2.2、页面引入2.3、方法里边使用2.4、options 三、方法三 vue-qr3.1、安装3.2、页面引…

做爰网站贴吧投放广告赚钱平台有哪些

企业级大数据架构设计 企业级大数据架构设计 又名&#xff1a; 学习大数据概念&#xff0c; 写框架&#xff08;第1天&#xff09; 数据架构与设计&#xff1a;概述与设计考虑 引言数据架构概述设计考虑因素构建数据架构的步骤 大数据的核心架构内容&#xff1a;构建高效和…

中国企业网站建设现状电商seo是指

国内游戏市场趋于饱和&#xff0c;但是国外市场潜力仍然可观&#xff0c;因此很多人选择游戏出海&#xff0c;那么现在游戏出海有多少优势呢&#xff1f; 1、市场潜力 全球游戏市场潜力巨大&#xff0c;增长迅速。中国游戏公司具有强大的研发能力和创新能力&#xff0c;能够开…

企业网站设计论文摘要怎么写做网站的专业词汇

获取Oracle JDBC驱动程序&#xff1a; 访问Oracle官方网站&#xff0c;下载适用于您的操作系统和Oracle数据库版本的JDBC驱动程序文件&#xff08;通常为一个JAR文件&#xff09;。您可能需要一个Oracle账户来访问这些文件。将下载的JAR文件保存到您的计算机上。 将驱动程序文件…

格豪网络建站网站设计套用模板

简介 在codepen上看到一个Canvas做的下雨效果动画&#xff0c;感觉蛮有意思的。就研究了下&#xff0c;这里来分享下&#xff0c;实现技巧。效果可以见下面的链接。 霓虹雨: http://codepen.io/natewiley/full/NNgqVJ/ 效果截图&#xff1a; Canvas动画基础 大家都知道&…

佛山网站建设的公司vs2017网站开发

Ubuntu的字体目录存放在/usr/share/fonts目录下&#xff0c;可以看到该目录下有4个目录&#xff0c; 12$ ls /usr/share/fonts/cmap truetype type1 X11我们在truetype目录下新建一个adobe的目录来存放需要安装的Adobe中文字体&#xff0c;并把已经下载好的字体复制到该目录…

杭州餐饮网站建设吴忠市建设局官方网站

作为运维&#xff0c;多多少少会碰见这样那样的问题或故障&#xff0c;从中总结经验&#xff0c;查找问题&#xff0c;汇总并分析故障的原因&#xff0c;这是一个运维工程师良好的习惯。每一次技术的突破&#xff0c;都经历着苦闷&#xff0c;伴随着快乐&#xff0c;可我们还是…