整理 | 苏宓
出品 | CSDN(ID:CSDNnews)

信息化时代,搜索引擎是很多兵家必争之地。这一场的角逐也从传统的互联网领域逐渐拓展到了分布式系统之上。

近日,阿里重磅开源了自研的搜索引擎 Havenask(https://github.com/alibaba/havenask),它也在今年双 11 活动中大展身手,支持了淘宝、天猫、菜鸟、优酷在内整个阿里的搜索业务,旨在为用户提供高性能、低成本、易用的搜索服务。

在功能性方面,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 开源:https://github.com/alibaba/havenask,对于想要尝鲜的开发者们也可以行动起来了。

  • 更多内容见官网:https://www.aliyun.com/page-source/tianchi/promotion/Havenask_OpenSourceSearchEngine
Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐