管理和用户指南
要完全了解 DB2 Net Search Extender 的功能,需要了解关键术语(在本节中是以粗体显示的)和提供的各种选项。还需要对“DB2 通用数据库”的概念和术语有一个基本了解。
从本质上来说,DB2 Net Search Extender 搜索数据库表的列中保存的文本文档。
文本文档必须是可唯一标识的。为此,Net Search Extender 使用表的主键。
文档可以采用各种格式,例如,HTML 或 XML。
Net Search Extender 并不是按顺序搜索所有文本文档(这将花费大量时间),而是创建文本索引来使文档可搜索。
文本索引是由从文本文档中抽取的重要术语组成的。
文本索引创建是定义和声明索引属性(例如,索引的位置)的过程。创建之后,文本索引不包含任何数据。索引更新是向文本索引中添加数据的过程。第一次索引更新将把文本列中的所有文本文档添加到索引中。它被称为初始更新。
当使用文本索引进行搜索时,必须考虑表与文本索引之间的同步问题,这是因为必须在文本索引中反映对表进行的任何后续更改(例如,添加、删除和更新文本文档)。
Net Search Extender 中的同步是根据触发器来进行的,触发器会将有关新的、已更改的和已删除的文档信息自动存储在日志表中。每个文本索引都有一个日志表。将日志表的内容应用于其相应的文本索引的过程被称为增量更新。
可以使用手工或自动选项来更新文本索引。自动选项使用更新调度来设置天数和时间。
注意,这些选项都不会使更新、删除和插入文本文档的事务范围内的文本索引同步。Net Search Extender 异步建立文本索引提高了性能和并行性。在独立事务内对很小一部分索引的副本应用更新。在用副本代替原始索引的很短时间段内,会锁定索引只允许只读存取。这对搜索操作是不可视的,有关信息,参见Chapter 5, Net Search Extender 实例服务。
文本索引具有某些属性,例如,索引文件位置和自动更新属性。如有必要,可以更改其中一些属性。这称为改变索引。
这样的一种属性是:ORDER BY 短语是否应根据表列对文本索引进行预先排序。在这种情况下,初始更新将按指定的次序对文本文档建立索引,并且按此次序返回搜索结果。
例如,根据书籍价格来指定预先排序的书籍摘要。当查找有关关系数据库系统的最便宜书籍时,可以限制文本搜索只返回前几本书,因为这些书籍是最便宜的。但是,如果没有预先排序的索引,则必须搜索所有书籍,并将这些搜索结果与最便宜的书籍连接起来,这种操作成本会更高。
Net Search Extender 允许每个文本列具有多个预先排序的索引。例如,一个索引用于根据出版日期来对书籍进行预先排序,而第二个索引用于根据书籍价格来对书籍进行预先排序。
通常,创建文本索引之后的第一次更新是初始更新,后续更新是增量更新。但是,当使用预先排序的索引时,您想保持索引次序以防发生更新。这是由更新时重新创建索引选项来解决的,每当执行更新时它就会完全重新构建该索引。
更新文本索引之后,可以使用下列一个选项来进行搜索:
由于各个搜索选项具有不同的操作特征,因此,在下列各节中对它们进行了说明。