|  | 更新文本索引
数据列的更改(插入、更新或删除行)是在 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.
|
|  |
|