IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Information Management  >

使用 DB2 Text Search 进行全文本搜索

DB2 Text Search 基本特性入门

developerWorks
前一页第 3 页,共 11 页后一页

文档选项

讨论

样例代码


对本教程的评价

帮助我们改进这些内容


创建文本索引

启用数据库文本搜索之后,可以在文本数据类型和 XML 数据类型上创建文本索引。在文件系统上为每个文本索引创建一个文本搜索集合,该集合存放从文档中提取出的有效项。

DB2 Text Search 支持以下文档格式。

  • TEXT:纯文本文档格式
  • HTML:超文本标记语言(Hypertext Markup Language)
  • XML:可扩展标记语言(Extensible Markup Language)

要在 “title” 列上创建一个纯文本索引,运行以下命令:


清单 9. 在列 “title” 上创建文本索引的命令
					
db2ts "CREATE INDEX myschema.mytitleidx FOR TEXT ON books(title)"

要在 XML 文档列 “bookinfo” 上创建索引,运行:


清单 10. 在列 “bookinfo” 上创建文本索引的命令
					
db2ts "CREATE INDEX myschema.myxmlidx FOR TEXT ON books(bookinfo)"

注意,在 XML 数据类型的列上创建的文本索引是自动使用 “XML” 文档格式创建的,这使我们可以在搜索查询中使用 XQUERY/XPath 语法。对于其他数据类型,默认格式是 “TEXT”。

该命令完成后,将在数据列上出现一个空索引、插入、更新和删除触发器,用于记录数据更改;以及一些额外的系统目录表,用于管理新文本索引。

要查看索引的特征,可以使用 DB2 text search 提供的信息视图:

db2 "SELECT * from SYSIBMTS.TSCOLLECTIONNAMES"

db2 "SELECT * from SYSIBMTS.TSINDEXES"

注意,对于新的文本索引,已经创建了一个事件表和一个 staging 表。事件表存放关于索引管理操作的报告消息和错误消息,而 staging 表则包含关于数据更新的更改日志,用于在数据表的内容与文本索引的内容之间进行同步。

填充文本索引

创建一个文本索引之后,便有了一个空的索引结构。第一次更新文本索引时(初始更新),将从已创建文本索引的列装载数据,并为该数据编制索引。DB2 Text Search 使用语言处理来解析文本和文档。

要填充文本索引,使用以下命令:


清单 11. 填充文本索引的命令
					
db2ts "UPDATE INDEX myschema.mytitleidx FOR TEXT" 

db2ts "UPDATE INDEX myschema.myxmlidx FOR TEXT"

成功完成之后,将标记文本索引,随后的每个更新命令都使用记录在 staging 表中的更改日志进行增量更新。增量更新是异步地的,也就是说,只有发出 UPDATE INDEX 命令时,才将文本索引与基本的表行同步。更新可以像这里一样手动开始,也可以通过调度机制进行控制。要了解调度选项的详细信息,请参阅 DB2 Text Search User Guide。


前一页第 3 页,共 11 页后一页
    关于 IBM 隐私条约 联系 IBM 使用条款