vec_offset 字段

数据类型为 CLOB 的 vec_offset 字段包含一个有序整数对列表,这些整数对准确指明搜索文本中线索的每个实例的位置。

整数之间以空格相隔。有序整数对中的第一个整数表示线索的开始偏移量,第二个整数表示突出显示的字符串的长度。文档中的第一个字符的偏移量为 0。

例如,如果在搜索文本 to be or not to be 中搜索词 be,那么下面是来自 vec_offset 字段的样本输出:
3 2 16 2

假设第一个字符的偏移量是 0,那么 be 一词的第一个实例开始于偏移量 3,要突出显示的字符串长度为 2。 be 一词的第二个实例开始于偏移量 16,要突出显示的字符串长度仍为 2。

Excalibur 文本搜索引擎有时会扩展线索以搜索相似词。例如,如果搜索词 house,并通过使用 etx_GetHilite()etx_HiliteDoc() 例程请求突出显示信息,那么词 housing 可能也会突出显示。这就是通过 vec_offset 字段指定的突出显示字符串的长度有时可能与原始线索的长度不同的原因。

也可以使用标准 GBase 8s ESQL/C 例程(如 ifx_lo_open()ifx_lo_read())或 DataBlade API 大对象例程(如 mi_lo_open()mi_lo_read())来操作 etx_HiliteType 对象。