使用 DB2 Text Search 进行全文本搜索
2009-11-20 00:00:00 来源:WEB开发网填充文本索引
创建一个文本索引之后,便有了一个空的索引结构。第一次更新文本索引时(初始更新),将从已创建文本索引的列装载数据,并为该数据编制索引。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。
使用 DB2 Text Search 进行搜索
下面这些内建的 DB2 搜索函数可用于 DB2 中的全文本搜索:
用 CONTAINS() 或 xmlcolumn-contains() 查询一个单词或短语
用 SCORE() 获得一个文档的相关度
单词或短语可以用布尔操作符(AND、OR 和 NOT)进行组合,也可以用通配符(? 和 *)进行修饰,以限制或扩展搜索范围。
纯文本中的搜索
使用 CONTAINS 关键词提交一个搜索查询:
清单 12. 文本搜索的基本语法SELECT author, year, substr(title,1,30)
FROM books
WHERE CONTAINS(title, 'mountain') = 1
AUTHOR YEAR 3
------------------------------ ----------- ------------------------------
Joe Climber 1995 Climber's Mountain Tops
Sam Climber 1966 Top of the Mountain: Mountain
2 record(s) selected.
更多精彩
赞助商链接