什麼是 OpenSearch?

OpenSearch 是一種 Apache 2.0 授權、100% 開放原始碼的分散式、社群驅動型搜尋和分析套件,用於廣泛的使用案例,如即時應用程式監控、日誌分析和網站搜尋。OpenSearch 提供了一個高度可擴展的系統,透過整合的視覺化工具 OpenSearch Dashboards 提供對大量資料的快速存取和回應,可讓使用者輕鬆地探索資料。OpenSearch 採用 Apache Lucene 搜尋庫技術,支援眾多搜尋和分析功能,如 K-Nearest Neighbor (KNN) 搜尋、SQL、異常偵測、機器學習共用、追蹤分析、全文搜尋等。

問:為何應使用 OpenSearch?

OpenSearch 讓您能夠輕鬆擷取、保護、搜尋、彙總、檢視和分析大量使用案例的資料,如日誌分析、應用程式搜尋、企業搜尋等。使用 OpenSearch,您可以從擁有的以任何所需方式使用、修改、擴展、貨幣化和轉售的 100% 開放原始碼產品中受益。越來越多的 OpenSearch 專案合作夥伴提供各種服務,如專業支援、增強功能和受管 OpenSearch 服務。OpenSearch 專案將繼續提供安全、高品質的搜尋和分析套件,並提供豐富的新功能和創新功能藍圖

問:為什麼建立 OpenSearch?

開發人員採用開放原始碼軟體的原因有很多,其中最重要的一個原因是可以自由地在希望的地方和以希望的方式使用該軟體。2021 年 1 月 21 日,Elastic NV 宣佈,他們將變更軟體授權策略,不會根據許可的 Apache 授權版本 2.0 (ALv2) 發佈 Elasticsearch 和 Kibana 的新版本。相反地,Elastic 將授權發佈 Elasticsearch 和 Kibana,且根據 Elastic 授權或 Server Side Public License (SSPL) 提供原始程式碼。這些授權不是開放原始碼,也不向使用者提供相同的自由。由於某些開發人員希望其軟體為開放原始碼,並且因為他們希望避免單一供應商鎖定,因此,我們決定從 Elasticsearch 和 Kibana 最後一個 ALv2 版本建立和維護一個分支。此分支稱為 OpenSearch,在 ALv2 下可用。

問:OpenSearch 與 Amazon OpenSearch Service 有何關聯?

Amazon OpenSearch Service 是一項 AWS 受管服務,可讓您執行和擴展 OpenSearch 叢集,而無須擔心管理、監控和維護您的基礎設施,也不必在操作 OpenSearch 叢集方面積累精深的專業知識。我們於 2021 年 9 月在 Amazon OpenSearch Service 中啟動了對 OpenSearch 的支援,從 1.0 版開始,並將該服務從 Amazon Elasticsearch Service 重新命名為 Amazon OpenSearch Service。從那時起,該服務支援多個新功能,並將這些新功能新增至多個版本的 OpenSearch 中。一些範例包括對跨叢集複寫、追蹤分析、資料串流、轉換、新的可觀察性使用者介面和 OpenSearch 儀表板中筆記本的支援。除此之外,k-NN、異常偵測、PPL、SQL 和提醒功能也有了顯著改進。雖然 Amazon OpenSearch Service 繼續支援舊式開放原始碼 Elasticsearch 版本 (直至 7.10),但我們強烈建議您在該服務上使用 OpenSearch,以便從作為開放原始碼 OpenSearch 版本一部分而建置的新功能中受益。

問:Amazon OpenSearch Service 是否支援 7.10 之後的新版 Elasticsearch?

否。7.10 之後的 Elasticsearch 版本並非開放原始碼,也不是根據許可的 ALv2 授權發佈。雖然 Amazon OpenSearch Service 將繼續支援開放原始碼 Elasticsearch 版本直至 7.10,但展望未來,我們將充分利用新版開放原始碼 OpenSearch,為使用 Amazon OpenSearch Service 的客戶提供各種功能和創新,如日誌分析、搜尋和可觀察性。

問:OpenSearch 是否會與新的 Elasticsearch 版本保持相容和功能對等?

OpenSearch 的藍圖由社群驅動,包括 AWS 在內的各種組織都為各項新功能的開放原始碼做出貢獻。OpenSearch 用於廣泛的使用案例,如即時應用程式監控、日誌分析和網站搜尋。OpenSearch 的藍圖應被視為獨立於 Elasticsearch 的藍圖,OpenSearch 的重心將是提供社群和客戶要求的新功能和創新。雖然 OpenSearch 可能包含與 Elasticsearch 中可用新功能相似的功能 (反之亦然),但所有功能的實作在兩個專案之間都是獨一無二的。OpenSearch 的主要目標是建置最適合 OpenSearch 社群和我們客戶需求的產品。

問:OpenSearch 提供了哪些功能?

功能 優勢
進階安全 提供加密、身分驗證、授權和稽核功能。包括與 Active Directory、LDAP、SAML、Kerberos、JSON Web 字符等的整合。OpenSearch 還提供對索引、文件和欄位的精細分級的角色型存取控制。
內建搜尋功能 提供許多功能來協助您自訂搜尋體驗,如全文查詢、自動完成、滾動搜尋、可自訂的評分和排名等。
SQL 查詢語法 提供熟悉的 SQL 查詢語法。使用 aggregations、group by 和 where 子句來調查資料。將資料讀取為 JSON 文件或 CSV 表格,這樣您就可以靈活地使用最適合自己的格式。
SQL 中的搜尋支援 讓您能夠使用熟悉的 SQL 查詢語法,同時存取豐富的搜尋功能,如模糊匹配、提升、短語匹配等。
Data Prepper Data Prepper 是一個伺服器端資料收集器,能夠篩選、豐富、轉換、規範化和彙總資料,以進行下游分析和視覺化。Data Prepper 讓使用者能夠建置自訂管道,以改善應用程式的操作檢視。
Trace Analytics Trace Analytics 提供一種在 OpenSearch 中擷取和視覺化 OpenTelemetry 資料的方法。這些資料可協助您尋找並修復分散式應用程式中的效能問題。
Application Analytics 使用 Application Analytics 來建立自訂可觀察性應用程式,以檢視系統的可用性狀態,您可以將日誌事件與追蹤和指標資料結合到整體系統運作狀態的單一檢視中。這讓您能夠在日誌、追蹤和指標之間快速切換,以深入挖掘任何問題的來源。
Piped Processing Language Piped Processing Language 提供了一種熟悉的査詢語法,其中包含一組由管線 (|) 分隔的用於査詢資料的全面命令。
操作面板 建置操作面板以整理使用 Piped Processing Language (PPL) 產生的可觀察性視覺化。
Event Analytics 使用 Piped Processing Language (PPL) 查詢,以互動方式建置和檢視資料的不同視覺化,包括追蹤日誌關聯性。
ML Commons Library 使用一系列機器學習演算法 (例如 kmeans 和異常偵測),來訓練模型並預測資料趨勢。ML Commons 直接與 PPL 和 REST API 整合。
報告 透過儀表板、儲存的搜尋、提醒和視覺化排定、匯出和共享報告。 
異常偵測 根據 Random Cut Forest (RCF) 演算法利用機器學習異常偵測,以在擷取資料時自動偵測異常。與提醒相結合,可近乎即時地監控資料並自動傳送提醒通知。 
索引管理 定義自訂政策以自動化例行索引管理任務 (如變換和刪除),並將其套用於索引和索引模式。
索引轉換 建立以特定欄位為中心的資料摘要檢視,以便您能夠以不同的方式視覺化或分析資料。 例如,假設您有分散在多個欄位和類別中的航空公司資料,並且您想要檢視依按航空公司、季度和價格整理的資料摘要。您可以使用轉換任務,來建立依這些特定類別整理的新摘要索引。
索引彙總 選擇您感興趣的欄位,並使用索引彙總建立一個新索引,僅將這些欄位彙總至更粗略的時間儲存貯體中。您可以在具有相同查詢效能的情況下,以一小部分成本存放數月或數年的歷史資料。
效能分析器和 RCA 架構 査詢大量叢集效能指標和彙總。使用命令列界面 (CLI) PerfTop 快速顯示和分析這些指標。使用根本原因分析 (RCA) 架構調查叢集中的效能和可靠性問題。
非同步搜尋 執行複雜的査詢而不必擔心査詢逾時,並在背景中執行非同步搜尋査詢。追蹤査詢進度並在部分結果可用時進行擷取。
Trace Analytics 為分散式應用程式擷取和視覺化 OpenTelemetry 資料。視覺化這些應用程式之間的事件流程,以識別效能問題。
提醒 自動監控資料並自動向利害關係人傳送提醒通知。透過直觀的界面和强大的 API,輕鬆設定、管理和監控提醒。使用 OpenSearch 的完整査詢語言和指令碼功能設計高度特定的提醒條件。
儲存貯體層級警示 建立提醒政策,對資料中的分組趨勢發出提醒。例如,您可以針對平均 CPU 高於所需閾值的每個主機發出提醒。
跨叢集複寫 將索引、映射和中繼資料從一個 OpenSearch 叢集複寫到另一個叢集,以建立跨叢集冗餘或將報告查詢卸載到輔助叢集。
k-NN 搜尋 使用 Machine Learning,在數千個維度的數十億文件上執行最近鄰搜尋演算法,與執行任何常規 OpenSearch 査詢一樣簡單。使用彙總和篩選條件子句進一步精簡相似性搜尋操作。k-NN 相似性搜尋支援產品推薦、詐騙偵測、影像和影片搜尋、相關文件搜尋等使用案例。
儀表板筆記本 在分析資料時,結合儀表板、視覺化、文字等,以提供內容和詳細說明。
OpenSearch 用戶端 OpenSearch 支援一系列語言用戶端,如 Go、JavaScript、Python、Java 等。使用這些用戶端建置直接與 OpenSearch 整合的應用程式。

問:誰贊助和維護 OpenSearch?

包括 AWS、SAP、CapitalOne、RedHat、Logz.io、Aiven.io、Bonsai、Logit.io、InstaCluster 和 BAInsight 在內的許多組織都公開支援 OpenSearch。

我們鼓勵並接受社群的貢獻,並且這樣做不需要貢獻者授權協議 (CLA)。此外,如果您是積極的貢獻者,並希望在專案中承擔更多責任,我們已經為非 AWS 員工定義了一個程序,以便在這裡的 OpenSearch 專案存儲庫中獲得維護者權利。 

問:OpenSearch 的未來是什麼?

我們於 2021 年 7 月推出了第一款正式上市的 OpenSearch 1.0 版本,並且從那以後推出了許多新版本,詳情請參閱這裡。在社群的極大興趣和支援下,我們在圍繞日誌分析、搜尋和可觀察性的關鍵使用案例中引入了若干新功能。這些領域仍然是 OpenSearch 和視覺化層 OpenSearch 儀表板未來改進的關鍵主題。請參閱藍圖,快速了解 OpenSearch 關注的關鍵領域。 

問:OpenSearch 如何獲得授權?

OpenSearch 專案中的所有軟體都是根據 Apache License 2.0 版 (ALv2) 發佈的。ALv2 授予人們易於理解和許可的使用權,這些權利符合人們使用開放原始碼軟體預期的自由:自由,例如能够在想要的地方和以想要的方式使用、修改、擴展、貨幣化及轉售開放原始碼軟體。對於 OpenSearch,我們相信此授權將使社群的所有成員都能廣泛採用並做出有益的貢獻。我們還發佈了 OpenSearch 商標的許可使用指導方針,因此您可以使用該名稱來推廣您的產品。

問:在哪裡可以找到有關 OpenSearch 用戶端和 API 相容性的更多資訊?

請參閱開放原始碼 OpenSearch 網站 上的常見問答集。常見問答集也是有關工具和外掛程式、升級相容性、一般社群,以及如何貢獻和從 OpenSearch 中受益的資訊重要來源。

其他資源

OpenSearch 包括來自 Elasticsearch B.V. 的特定 Apache 授權的 Elasticsearch 程式碼和其他原始程式碼。Elasticsearch B.V. 不是其他原始程式碼的來源。ELASTICSEARCH 是 Elasticsearch B.V. 的註冊商標。