Havenask是阿里巴巴內部廣泛使用的大規模分散式檢索系統,支持了包括淘寶、天貓、菜鳥、高德、餓了么、全球化在內整個阿里巴巴集團的搜尋業務,為用戶提供高性能、低成本、易用的搜尋服務。
同時具有靈活的定製和開發能力,支持算法快速疊代,幫助客戶和開發者量身定做適合自身業務的智慧型搜尋服務,助力業務增長。
2022年12月,Havenask項目檔案在Github推出。
2023年10月,Havenask開源官網正式發布。
基本介紹
- 中文名:Havenask
- 開發公司:阿里巴巴
- 分類:開源搜尋引擎
產品簡介,發展歷程,整體架構,企業及解決方案,
產品簡介
Havenask 底層全部採用 C++ 實現,並經過多年的最佳化疊代,與其他的開源搜尋引擎相比具有如下特點:
- 高性能:查詢性能高,某些場景性能數倍於開源引擎。
- 低成本:支持存算分離,冷熱數據隔離等功能,海量數據場景下成本更低。
- 時效性高:數據寫入或者更新的時效性可以達到毫秒級。
- 穩定性高:記憶體控制嚴格,沒有其他開源引擎 gc 的問題,同時支持多機房互備具有更高的可靠性。
- 索引類型豐富:支持 kv、kkv、倒排、正排、摘要、向量多種索引類型。
- 定製能力強:支持分詞器、數據處理、query 改寫、算分、功能函式、等多種外掛程式的定製。
- 支持 SQL 語法:支持 SQL 查詢,多表 join,學習門檻低,業務遷移方便。
發展歷程
Havenask在阿里集團內部有著10多年的發展歷史,通過性能和穩定性的成績在集團內廣泛套用,豐富的定製化能力,支撐了集團內所有核心的搜尋業務場景,累積了很多針對搜尋場景的功能及性能最佳化經驗。
- 1999年~2008年起源於雅虎搜尋技術(YST、Vespa)的單機版搜尋引擎,支持淘寶、B2B等子公司搜尋業務。
- 2009年~2011年完成自研搜尋引擎HA3(Havenask)研發,開啟自研大規模分散式高性能搜尋引擎時代。
- 2013年Havenask支持阿里巴巴集團幾乎所有搜尋業務,統一代碼分支,以產品化方式規模化支持集團大量搜尋業務。
- 2018年深度學習技術廣泛套用,Havenask繼續演進,除了提供傳統的倒排索引能力外,還提供KV、KKV、向量索引,支持深度模型和線上預測,提供外掛程式定製、自研CAVA語言支持業務擴展等能力,成為阿里搜推廣場景的核心AI智慧型引擎。
- 2022年阿里將搜尋引擎 Havenask 開源,為更多用戶提供更高性能、更低成本、更便捷易用的搜尋服務。
整體架構
從架構來看,Havenask 由四個核心模組組成
- 索引系統(BuildService):通常搜尋引擎需要對原始數據構建索引,才能在提供服務時實現高性能。在Havenask中索引系統是支持全量、增量、實時流的複雜分散式流計算系統。
- 線上集群(HavenaskRuntime):線上系統支持不同的數據規模分列查詢,不同的查詢並發做多副本。在系統里設計有類似於大腦的複雜角色,可以自動做查詢處理、調度查詢節點、數據節點等。如果出現機器壞了的情況,線上系統可自動識別這些情況,來保證系統的高可用。
- 訊息中間件(Swift):訊息中間件用於實時數據傳遞,處理後的文檔傳遞,是Havenask實現毫秒級時效性,支撐海量數據實時更新的基石。訊息中間件Swift不僅可以用在Havenask系統中,也可以單獨部署使用,與其他開源中間相比具有明顯的性能和成本優勢。
- 管控系統(Hape):為了方便開發人員的日常運維,Havenask對管控運維的API進行了封裝,提供方便實用的運維工具Hape,使用它開發人員可以方便的對表和集群進行管理。
企業及解決方案
- 對於有使用需求的企業級開發者,阿里雲上提供了基於 Havenask 打造的全託管、免運維的一站式對話式搜尋服務 — 阿里雲 OpenSearch。
- 基於 Haveansk 與“通義千問”打造的 AI 搜尋產品 — OpenSearch LLM 智慧型問答版,也已在阿里雲上為企業級開發者提供全託管、免運維的一站式對話式搜尋服務。
- Havenask 開源了 Havenask-federation(簡稱 Fed)項目,在 Havenask 和 Elasticsearch 之間架起一條橋樑,方便 Elasticsearch 開源生態用戶,快速遷移和擴展,實現優勢互補。