
打开 SAP HANA Cloud 当前版本的 Feature Scope,可以看到一个看起来非常克制的功能项,Text Search。SAP 对它的概括只有几句话,可以在数据库中执行搜索,可以选择exact和具备容错能力的fuzzy模式,可以定义Search Model,也可以基于这些模型发起搜索查询。篇幅虽然短,背后却是一整套相当完整的数据库搜索体系。它并不是简单地在 SQL 里增加几个字符串函数,而是把分词、索引、错误容忍、相关度计算、搜索模型和查询运行时都放进了 SAP HANA Database。这也是理解 SAP HANA Cloud 搜索能力时最重要的一条线索。很多企业系统已经把业务数据放在 SAP HANA 中,商品名称、客户名称、物料描述、采购文本、文档标题、地址、合同摘要乃至较长的非结构化文本都可能存放在数据库里。如果应用层为了搜索这些数据,再同步一份数据到独立搜索引擎,就会立刻引入数据复制、增量同步、一致性、权限映射和运维方面的问题。SAP HANA 的思路很直接,既然数据已经在数据库里,就尽可能让搜索发生在数据所在的位置。这种思路与传统 SQL 查询有明显区别。在一个最简单的业务系统里,如果要根据产品名称寻找记录,很容易写出这样的条件。SELECT*FROMPRODUCTS