WEB开发网
开发学院数据库DB2 使用 DB2 Text Search 进行全文本搜索 阅读

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

 2009-11-20 00:00:00 来源:WEB开发网   
核心提示: 更新文本索引数据列的更改(插入、更新或删除行)是在 staging 表中进行跟踪的,并通过增量索引更新应用到文本索引,使用 DB2 Text Search 进行全文本搜索(9),清单 21. 将另一行插入到表 “books” 中INSERTINTObooksVALUES(

更新文本索引

数据列的更改(插入、更新或删除行)是在 staging 表中进行跟踪的,并通过增量索引更新应用到文本索引。


清单 21. 将另一行插入到表 “books” 中
INSERT INTO books VALUES ('456-456456456', 'John Doe', 'The Database Book', 2005, 
XMLPARSE( 
DOCUMENT '<bookinfo> 
<author>John Doe</author> 
<title>The Database Book</title> 
<story>The ultimate book about contemporary databases. </story> 
 <year>2005</year> 
 <price>55.00</price> 
 <pages>176</pages> 
 </bookinfo>')); 

为了使文本索引与数据列同步,请像下面这样更新文本索引:


清单 22. 填充文本索引
db2ts "UPDATE INDEX myschema.mytitleidx FOR TEXT" 
db2ts "UPDATE INDEX myschema.myxmlidx FOR TEXT" 

如果遇到警告或错误,可以查看文本索引的事件表:


清单 23. 查看文本索引的事件表
db2 "SELECT * FROM eventviewschema.eventviewname" 

with event table values as listed by db2 "SELECT eventviewschema, eventviewname from SYSIBMTS.TSINDEXES"。

索引更改成功完成后,新的数据出现在文本索引中,并且可以搜索:


清单 24. 使用 XPath 表达式的文本搜索
SELECT 
author, year, substr(title,1,30) FROM books 
WHERE contains(bookinfo, '@xpath:''/bookinfo/story [. contains("database")]''')=1 
 
 
 
AUTHOR             YEAR    3 
------------------------------ ----------- ------------------------------ 
Samantha Smitt            2001 The Database Compendium 
John Doe               2005 The Database Book 
 
 2 record(s) selected. 

清理

删除一个表或数据库不会自动删除文本搜索集合。在删除一个表或数据库之前,使用以下步骤确保删除所有工件:


清单 25. 删除文本索引的命令
db2ts "DROP INDEX myschema.mytitleidx FOR TEXT" 
db2ts "DROP INDEX myschema.myxmlidx FOR TEXT" 

最后,禁用数据库文本搜索,断开与数据库的连接并删除数据库:


清单 26. 禁用数据库文本搜索的命令
db2ts "DISABLE DATABASE FOR TEXT" 

如果数据库中仍然存在文本索引,则不能禁用数据库文本搜索。虽然可以使用强制选项 “disable database for text force” 强制执行该命令,但是建议用 drop index for text 命令删除文本索引。


清单 27. 停止文本搜索服务的命令
 db2ts "STOP FOR TEXT" 
 db2 DISCONNECT CURRENT 
 db2 DROP DATABASE mytstest 

结束语

本教程指导您如何设置 DB2 Text Search 环境、准备和更新文本索引,以及如何使用 CONTAINS 和 SCORE 函数。要获得 DB2 Text Search 功能的详细信息,请参阅 DB2 Text Search User Guide。

本文示例源代码或素材下载

上一页  4 5 6 7 8 9 

Tags:使用 DB Text

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接