IBM Books
(C) IBM Corp. 2000, 2003.

Net Search Extender

管理和用户指南


使用存储过程搜索来搜索文本

当应用程序需要文本搜索结果的子集时,使用存储过程搜索界面,但是要采用一种高性能搜索方式。如果需要所有结果或者需要对大量文档建立索引,则不要使用存储过程。主要原因是已将用户表的多个部分复制到内存中,从而需要提供许多实际内存。

可以采用一种与游标导航相似的方式使用存储过程来首先请求 0 到 20 之间的结果,然后请求 21 到 40 的结果,依此类推。在具有此游标功能的情况下使用高速缓存(已在建立索引期间计算)会使搜索速度相当快,尤其是在不需要任何连接的情况下更是如此。

如果将使用存储过程,则务必考虑下列选项:

以下是存储过程搜索的一个示例:

db2 "call  db2ext.textSearch('\"book\"','DB2EXT','COMMENT',0,2,1,1,?,?)"

第一个参数是搜索术语。该语法与 SQL 函数中的语法完全相同。然后,指定索引名和索引模式。如果尚未屏蔽该名称,则将它转换为大写。接着的两个数字提供了获得结果(以片段计)的可能性。接下来的两个整数值指定是否请求了分数和命中信息。最后两个值是输出值。

有关这些参数进一步的详细信息,参见Chapter 16, 存储过程搜索函数

注意

如果请求较大的结果集,则需要用户表空间。如果没有提供任何表空间,则创建一个表空间。以下示例将在 UNIX 平台上创建一个表空间:

db2 "create user temporary tablespace tempts managed by system
            using ('/work/tempts.ts')"

在分布式 DB2 环境中,必须在存储过程的单个节点上为管理表显式指定表空间,并在此节点上显式调用。


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]