标题1 | 标题2 | 标题3 | 标题4 |
信息化时代,搜索引擎是很多兵家必争之地。这一场的角逐也从传统的互联网领域逐渐拓展到了分布式系统之上。
近日,阿里重磅开源了自研的搜索引擎 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 智能引擎。
More striking is the use of indentation. Although it was common in programs written in ALGOL 60 or its descendants, such as Pascal, to use indentation as a typographical layout feature for clarifying the grouping of commands, this was an entirely optional presentation choice, made purely for the benefit of the human reader. In an article by P. J. Plauger entitled “Signal and Noise in Programming Languages,”16 we found the (then) radical idea to “have the compiler read the same signal as we human beings, and let the indenting control grouping,” a suggestion we followed with enthusiasm. Indentation to indicate that a suite of commands belong together subsequently became mandatory in B0 programs, a design choice that has been maintained throughout all iterations.17