DataBlade 模块的工作原理

包含 LIKE 或 MATCHES 子句的标准 SQL 搜索使用 B 树访问方法来扫描数据。或者,使用 etx_contains() 运算符执行搜索时,查询的该部分将转发到 Excalibur 文本搜索引擎。Excalibur 文本搜索引擎可以视为 GBase 8s 的一个专用部件,在 SELECT 语句中指定 etx_contains() 操作时就会执行该部件。

文本搜索引擎产生一组满足您在 etx_contains() 运算符中指定的条件的行,并将这些行返回到数据库服务器。如果查询包含除 etx_contains() 运算符所指定条件之外的条件,那么 GBase 8s 将进一步限定该行集。 最后,GBase 8s 将返回满足 WHERE 子句全部条件的行列表。下图说明了此过程。

图: 文本搜索过程举例说明


此图显示一个 SELECT 查询,它使用 etx_contains() 运算符以及 SQL LIKE 关键字,以返回满足 WHERE 子句的这两个条件的值。

尽管为了便于说明,上图将 Excalibur 文本搜索引擎显示为一个单独的过程,但请务必谨记,它会动态链接到 GBase 8s Database Server 并视为其组成部分。

以下部分描述了 GBase 8s Excalibur Text Search DataBlade 模块 的组件并更加详细地介绍了其工作方式。