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

Net Search Extender

管理和用户指南


创建文本索引

总结

何时删除文本索引
对包含要搜索的文本的每个列创建一次。

命令
CREATE INDEX ... FOR TEXT ...(参见下列示例)

权限
表的 CONTROL 权限

尽管对下列数据类型具有不同的要求,您还是可以对受支持的数据类型创建文本索引:

为存储过程搜索创建文本索引也具有不同的需求。

当创建文本索引时,还要创建下列对象:

日志表
它将跟踪用户表中已更改的所有行。注意,如果选择更新时重新创建索引选项或者使用复制捕获表,则不会创建日志表。

事件表
此表在更新文本索引期间将收集有关问题的信息。

用户表上的触发器
每当添加、删除或更改列中的文档时,这些触发器就会将信息添加至日志表。当下一次建立索引时,该信息对于索引同步是必需的。

注意,仅当创建日志表时才会创建触发器,并且文本索引是在基本表而不是视图或昵称表上创建的。

要优化性能和磁盘空间,使用 CREATE INDEX 命令来为表指定另一个表空间。

注意

使用 DB2 LOAD 命令来导入文档可能会导致问题,这是因为不会触发触发器,并且不可能对已装入的文档建立增量索引。

因此,最好是在 DB2 IMPORT 命令激活触发器时才使用该命令。

以下示例将对 htmltab 表中的 HTMLFILE 文本列创建文本索引。

db2text create index DB2EXT.HTMLIDX for text on DB2EXT.HTMLTAB
           (HTMLFILE) format HTML
 

此表上的主键是必需的。

创建索引的缺省值来自 db2ext.dbdefaults 视图。

如果在建立索引期间发生了错误,则会将通常所说的索引更新事件添加至事件表。例如,找不到为建立索引而排队的文档。有关附加信息,参见事件视图

要取消由 CREATE INDEX 所做的更改,使用 DROP INDEX 命令。有关此信息,参见删除文本索引

要使文本索引与数据库同步,使用以下命令:

db2text update index DB2EXT.HTMLIDX for text

注意,只有在同步之后才能查找文档。

搜索总结

根据在创建索引期间所选择的选项,可以采用不同的搜索方法:

  • SQL 标量搜索函数处理所有文本索引(除了对视图创建的文本索引)。
  • 存储过程搜索函数只处理使用高速缓存创建的文本索引。
  • SQL 表值函数处理所有文本索引(包括对视图创建的文本索引)。


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