etx_ViewHilite() 例程突出显示由 etx_GetHilite() 或 etx_HiliteDoc() 例程返回的数据。
etx_ViewHilite (hilite_type, hilite_prefix, hilite_suffix)
元素 | 用途 | 数据类型 |
---|---|---|
hilite_type | 由 etx_GetHilite() 或 etx_HiliteDoc() 例程返回的 etx_HiliteType 数据。 | Etx_HiliteType |
hilite_prefix | 希望在突出显示字符串之前出现的文本。 | LVARCHAR |
hilite_suffix | 希望在突出显示字符串之后出现的文本。 | LVARCHAR |
etx_ViewHilite() 例程返回 LVARCHAR 值,包含已选中文档的文本,并将搜索文本的每个实例用指定的突出显示标记括起来。
etx_ViewHilite() 例程操作由 etx_GetHilite() 或 etx_HiliteDoc() 例程返回的 vec_offset 和 viewer_doc 数据。
使用 ETX_HILITE_MAXLEN 环境变量控制突出显示文档的大小
export ETX_HILITE_MAXLEN 100000
通过将 ETX_HILITE_MAXLEN 设置为大于索引中最大文档大小的某个值,确保也将返回文档中的突出显示字符考虑在内。
较大的 ETX_HILITE_MAXLEN 值可能导致突出显示查询使用更多内存。在设置 ETX_HILITE_MAXLEN 环境变量时,GBase 8s Excalibur Text Search DataBlade 模块 会在缺省值 32 767 字节和返回的突出显示文档的 ETX_HILITE_MAXLEN 内存值之间弥补差值。
SELECT etx_ViewHilite (etx_GetHilite(abstract, rc), '<b>', '</b>') FROM reports WHERE etx_contains (abstract, 'multimedia editor', rc # etx_ReturnType);
SELECT etx_ViewHilite(etx_HiliteDoc(description, 'desc_idx1', Row('multimedia', 'SEARCH_TYPE=PHRASE_APPROX')), '<b>','</b>') FROM videos WHERE id = 1;