搜索百科(4):OpenSearch — 開源搜索的新選擇
大家好,我是 INFINI Labs 的石陽。
歡迎關(guān)注 《搜索百科》 專欄!每天 5 分鐘,帶你速覽一款搜索相關(guān)的技術(shù)或產(chǎn)品,同時還會帶你探索它們背后的技術(shù)原理、發(fā)展故事及上手體驗等。
上一篇我們圍觀了 “流量明星” Elasticsearch — 從食譜搜索到 PB 級明星產(chǎn)品,從 Apache 2.0 到 SSPL 協(xié)議風(fēng)波;今天我們來聊聊它的“分叉兄弟” OpenSearch。

引言
2021 年,當(dāng) Elasticsearch 宣布將其許可證從 Apache 2.0 變更為 SSPL/Elastic License 時,整個搜索社區(qū)為之震動。這一變更直接催生了一個新的開源分支 — OpenSearch。這個由 AWS 主導(dǎo)的項目不僅在短短幾年內(nèi)迅速發(fā)展成熟,更成為了許多企業(yè)在云原生環(huán)境下搜索解決方案的新選擇。
OpenSearch 概述
OpenSearch 是從 Elasticsearch 7.10.2 分支而來的開源搜索與分析套件,由 AWS 主導(dǎo)開發(fā)并貢獻(xiàn)給開源社區(qū)。OpenSearch 包括 OpenSearch(搜索引擎)和 OpenSearch Dashboards(可視化界面),完全兼容 Apache 2.0 協(xié)議,旨在為用戶提供一個真正開源、社區(qū)驅(qū)動的搜索與分析解決方案。
- 首次發(fā)布:2021 年 4 月
- 最新版本:3.2.0(截止 2025 年 9 月)
- 開源協(xié)議:Apache License 2.0
- 主導(dǎo)企業(yè):Amazon Web Services (AWS)
- 官方網(wǎng)址:https://opensearch.org/
- GitHub 倉庫:https://github.com/opensearch-project
誕生故事:開源協(xié)議爭議的產(chǎn)物
時間回到 2021 年 1 月,Elastic 公司宣布 Elasticsearch 從 7.11 版本起不再使用 Apache 2.0 協(xié)議,而改為 Elastic License 與 SSPL。這一決定立刻在社區(qū)和產(chǎn)業(yè)界引發(fā)巨大爭議。

AWS(亞馬遜云)作為 Elasticsearch 的重要用戶與云服務(wù)提供商,不愿意被 Elastic 的商業(yè)條款所限制,隨即牽頭將 Elasticsearch 7.10 版本 fork 出來,并與 Kibana 一起重命名為 OpenSearch 與 OpenSearch Dashboards。
從此,開源世界分裂成了兩條路線:
- Elastic 官方的 Elasticsearch + Kibana(帶有商業(yè)許可)。
- 社區(qū)驅(qū)動的 OpenSearch + OpenSearch Dashboards(繼續(xù)遵循 Apache 2.0 協(xié)議)。
這個分叉,既是開源協(xié)議之爭的產(chǎn)物,也是云廠商與開源公司之間博弈的縮影。雖然初期被質(zhì)疑過“是否真開源”,但經(jīng)過數(shù)年的迭代,OpenSearch 已形成了相對獨立的開發(fā)節(jié)奏和用戶群體,插件和生態(tài)也逐漸豐富。
技術(shù)架構(gòu)與特性

OpenSearch 是一個基于 Apache Lucene 的分布式搜索與分析引擎。在將數(shù)據(jù)添加到 OpenSearch 后,可以對其執(zhí)行各種功能完備的全文搜索操作:按字段搜索、跨多個索引搜索、提升字段權(quán)重、按得分排序結(jié)果、按字段排序結(jié)果以及對結(jié)果進(jìn)行聚合。

OpenSearch 的核心架構(gòu)由集群、節(jié)點、索引、分片和文檔組成。最高層是 OpenSearch 集群,它是由多個節(jié)點組成的分布式網(wǎng)絡(luò),每個節(jié)點會根據(jù)其類型負(fù)責(zé)不同的集群操作。數(shù)據(jù)節(jié)點負(fù)責(zé)存儲索引(即文檔的邏輯分組),并處理數(shù)據(jù)寫入、搜索和聚合等任務(wù)。
每個索引會被劃分為多個分片,分片包含主數(shù)據(jù)和副本數(shù)據(jù)。分片會分布在多臺機器上,從而實現(xiàn)水平擴(kuò)展,提升性能并高效利用存儲資源。
OpenSearch vs Elasticsearch:詳細(xì)對比
| 特性 | OpenSearch | Elasticsearch |
|---|---|---|
| 許可證 | Apache 2.0(完全開源) | SSPL/Elastic License/AGPLv3 |
| 起始版本 | 基于 Elasticsearch 7.10.2 | 從 7.11 開始協(xié)議變更 |
| 社區(qū)治理 | 開放治理模式,由社區(qū)驅(qū)動 | 由 Elastic NV 公司主導(dǎo) |
| 安全性 | 所有安全功能默認(rèn)開源 | 部分高級安全功能需要付費 |
| AI/向量檢索 | 近年快速跟進(jìn),兼容性較好 | 原生支持,功能逐步增強 |
| 部署選擇 | AWS OpenSearch Service / 自建 | Elastic Cloud / 自建 |
| 升級路徑 | 從 Elasticsearch 7.x 平滑遷移 | 原生升級路徑 |
| 社區(qū)活躍度 | 社區(qū)逐漸壯大,受到純開源擁護(hù)者歡迎 | 用戶基礎(chǔ)龐大,但分裂帶來爭議 |
快速開始:5 分鐘部署 OpenSearch
1. 使用 Docker 部署
# 拉取 OpenSearch 鏡像
docker pull opensearchproject/opensearch:3.2.0
# 啟動 OpenSearch 節(jié)點
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. 驗證安裝
# 檢查集群狀態(tài)
curl -X GET "http://localhost:9200/"
出現(xiàn)如下結(jié)果說明安裝成功。

3. 創(chuàng)建索引和搜索
# 索引文檔
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"
}'
# 執(zhí)行搜索
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 界面。

結(jié)語
OpenSearch 的出現(xiàn),是開源社區(qū)的一次“自救”。它不僅延續(xù)了 Elasticsearch 的核心功能,還代表了另一種治理模式:由云廠商和社區(qū)共同維護(hù),保證了開源協(xié)議的延續(xù)。
在搜索技術(shù)的版圖里,Elasticsearch 與 OpenSearch 的分叉,注定會成為一個重要的歷史節(jié)點。未來,兩者可能會繼續(xù)競爭,也可能各自發(fā)展出獨特的生態(tài)。
?? 下期預(yù)告
下一篇我們將介紹 OpenSearch 的另一個兄弟 Easysearch,一個衍生自開源協(xié)議 Apache 2.0 的 Elasticsearch 7.10.2 版本的輕量級搜索引擎,作為一個 ES 國產(chǎn)替代方案,看看它如何以其極致的速度和易用性在國內(nèi)搜索領(lǐng)域占據(jù)一席之地。
?? 三連互動
- 您是否考慮過從 Elasticsearch 遷移到 OpenSearch?
- 在開源協(xié)議方面,您更傾向于哪種模式?Apache 2.0 還是 Elastic 的多重許可?
- 對于云廠商與開源項目之間的關(guān)系,您有什么看法?
對搜索技術(shù)感興趣的朋友,歡迎關(guān)注《搜索百科》專欄,一起探討與學(xué)習(xí)!
? 推薦閱讀
- 搜索百科(3):Elasticsearch — 搜索界的"流量明星"
- 搜索百科(2):Apache Solr — 企業(yè)級搜索的開源先鋒
- 搜索百科(1):Lucene — 打開現(xiàn)代搜索世界的第一扇門
?? 參考資源
原文:https://infinilabs.cn/blog/2025/search-wiki-4-opensearch/
《搜索百科》專欄系列,本文主要介紹 OpenSearch,它是從 Elasticsearch 7.10.2 分支而來的開源搜索與分析套件,由 AWS 主導(dǎo)開發(fā)并貢獻(xiàn)給開源社區(qū)。OpenSearch 包括 OpenSearch(搜索引擎)和 OpenSearch Dashboards(可視化界面),完全兼容 Apache 2.0 協(xié)議,旨在為用戶提供一個真正開源、社區(qū)驅(qū)動的搜索與分析解決方案。
浙公網(wǎng)安備 33010602011771號