10 年磨一剑,阿里开源自研搜索引擎 Havenask!
整理 | 苏宓
出品 | CSDN(ID:CSDNnews)
信息化时代,搜索引擎是很多兵家必争之地。这一场的角逐也从传统的互联网领域逐渐拓展到了分布式系统之上。
近日,阿里重磅开源了自研的搜索引擎 Havenask( 活动中大展身手,支持了淘宝、天猫、菜鸟、优酷在内整个阿里的搜索业务,旨在为用户提供 高性能、低成本、易用的搜索服务。
在功能性方面, Havenask 具有灵巧的定制和开发能力,支持算法快速迭代,能够扶助开发者量身定做适合自身业务的智能搜索服务,助力业务增长。
十年磨一剑
Havenask 是经历了 10 多年迭代的产物,凭借性能、稳定性等优势,它在阿里内部运用得十分广泛,不仅支撑了集团内所有核心的搜索业务场景,同时其自身累积了很多针对搜索场景的功能及性能优化体会。
谈起 Havenask 的发展历程,依据其官网介绍展示,主要经历了三个阶段:
1999 年~2008 年,该技术起源于雅虎搜索技术(YST、Vespa)的单机版搜索引擎,支持淘宝、B2B 等子公司搜索业务。
2009 年~2011 年,完成自研搜索引擎 HA3(Havenask)研发,开启自研大规模分布式高性能搜索引擎时代。
2013 年,Havenask 支持阿里巴巴集团几乎所有搜索业务,统一代码分支,以产品化方式规模化支持集团大量搜索业务。
2018 年,随着深度学习技术广泛使用,Havenask 陆续演进,除了提供传统的倒排索引能力外,还提供 KV、KKV、向量索引,支持深度模型和在线推测,提供插件定制、自研 CAVA 语言支持业务扩展等能力,成为阿里搜妥善场景的核心 AI 智能引擎。
2022 年双十一期间,阿里决定开源这个在电商搜索和推举业务中最核心部分的图化引擎之一的大规模分布式检索系统 Havenask,赋能更多开发者。
Havenask 的架构与功能
依据官方披露的架构图展示,Havenask 搜索功能主要由在线部分、离线部分、管控部分、插件部分构成,其中包括了查询流、数据流、掌握流。
其中在线部分主要包含了 Qrs 和 Searcher。Qrs 用于接收用户查询、查询分发、收集整合结果;Searcher 是搜索查询的执行者,具有倒排索引召回、统计、条件过滤、文档打分、排序、摘要生成等功能。
展开全文
离线部分覆盖索引数据生成的过程、文档处理与索引构建服务 Build Service。此外,索引构建分为三个步骤,对数据分别进行分词改写、产出索引、合并索引文件的处理。
管控部分,即具有强大的运维管控能力。
插件部分则主要是提供插件机制,离线和在线流程各环节中,用户均可以通过开发插件,对原始文档、查询 Query、召回、算分、排序、摘要进行灵巧修改。
图源:阿里云官网
Havenask 的底层主要是由 C++ 语言编写,其次摘用了少许的 Python 语言。整体而言,与行业其他竞品相比,Havenask 具有以下的核心能力与优势:
极致的工程性能:支持千亿级数据实时检索,百万 QPS 查询,百万 TPS 写进,毫秒级查询延迟与秒级数据更新;
C++ 的底层构建:对性能、内存、稳定性有更高保障;
SQL 查询支持:支持SQL语法便利查询,查 询体验更友好;
丰盛的插件机制:支持各类业务插件,拓展性强;
支持图化开发:实现算法分钟级快速迭代,定制能力丰盛,在新一代智能检索场景下的支持效果优异。
百闻不如一见,一见不如一试,目前 Havenask 源代码已在 GitHub 开源:,对于想要尝鲜的开发者们也可以行动起来了。
更多内容见官网:
☞《魔兽世界》国服团队正与新协作方洽谈;爆苹果将答应第三方使用商店替代 App Store;Vite 4.0发布|极客头条
☞ ChatGPT 太猖狂?OpenAI 欲打假并研发“文本水印”,网友吐槽:太“鸡肋”!
☞2022天池大赛-云原生编程挑战赛圆满收官,见证冠军战队的诞生