从拼错一个单词到命中正确业务数据,深入理解 SAP HANA 与 ABAP CDS 的 Fuzzy Search

📅 发布时间:2026/8/10 9:28:04
从拼错一个单词到命中正确业务数据,深入理解 SAP HANA 与 ABAP CDS 的 Fuzzy Search 在 SAP Fiori Elements 的 List Report 里输入一段产品名称,搜索框里的内容明明少了一个字母,后台却依旧能够把正确产品找出来。这个体验看起来很普通,但如果沿着请求一路追到 ABAP CDS、SADL 和 SAP HANA,会发现它与传统的LIKE查询完全不是一类东西。这里工作的核心能力就是Fuzzy Search,也就是模糊搜索。SAP 对它给出的定位很明确,Fuzzy Search是 SAP HANA 提供的一种高速、具备容错能力的搜索机制。当搜索词出现字符缺失、多余字符或者拼写错误时,数据库查询仍然可能返回正确记录。这几个字里最关键的其实不是模糊,而是容错。传统数据库查询习惯回答一个问题,数据库中的值是否满足某个确定条件。Fuzzy Search回答的却是另一个问题,数据库中的这个值与输入内容到底有多像。这两个问题看起来接近,背后的搜索模型却有很大差异。从LIKE到相似度搜索,数据库开始理解不完美输入设想我们的 SAP S/4HANA 系统中有几十万条产品主数据。某个产品名称是Triethanolamine搜索时输入成Driethanolamyn传统的等值条件自然找不到。使用普通LIKE也很难解决,因为两个字符串之间并不存在一个稳定、连续