返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

或(OR)运算符‘|’
操作符含义
所查询内容至少有一个被包含。
示例
例如:'hello | world',表示查询包含hello 或者world 单词的内容。



sword GCILobOpen (
GCISvcCtx *svchp,
GCIError *errhp,
GCILobLocator *locp,
ub1 mode

);

在指示的模式下打开内部或外部 LOB。


GBase 8s GCI 接口使用指南

南大通用数据技术股份有限公司 73

参数
输入
/输出


svchp
输入
上下文句柄指针
errhp
输入/输出
错误信息句柄,该接口调用失败时,错误信息会存在该句柄上
locp
输入/输出
要打开的 LOB。定位器可以引用内部或外部 LOB。
mode
输入
打开 LOB 的模式,有效模式如下:

GCI_LOB_READONLY

GCI_LOB_READWRITE

如果执行成功,返回 GCI_SUCCESS,否则返回 GCI_ERROR。

使用全文检索的时候,在正文中将检索的内容高亮,便于用户查看。该函数随UP
系统安装到server/lib/gbase/plugin 目录下。 系统安装完成后,即可使用该功能,
无需额外的任何操作。
提供如下函数,对输入参数content 中出现的search_content 进行标记。
fulltext_mark(content, search_content, begin_mark, end_mark,min_search_len,
return_length,charsetinfo)

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 953
参数列表
参数名称
类型
必填
说明
Content
String

需要检索的文本内容,没有长度限制
search_content
String

检索词,没有长度限制
begin_mark
String

在高亮词前面增加该标记,例如'',没有任何限

end_mark
String

在高亮词后面增加该标记,
例如'
',
没有任何限

min_search_len
Int

被高亮词的最小长度(单位是字符),小于此长度的词
不被标记成高亮词,<=0 的时候 高亮的词是系统可
以匹配到的最长字串,该参数只和 search_content
和内部计算的LCS 的长度相关,
和其他参数都无关。
当该参数 <=0 的时候,内部使用LCS 的长度,当该
参数 > search_content 的长度时,则使用
search_content 的长度。

return_length
Int

返回字符串中原文的最大长度,单位是字符,(不包
括高亮词前后增加的字符串)

该参数是指返回的被
高亮的正文的长度,同 search_content、
begin_mark、
end_mark、
min_search_ln 没有任何
关系,只和 Content 的长度有关系,当该参数 >=
Content 的长度,则返回完整的Content,如果该参
数 <
Content 的长度,则先截断到return_length,
再对截断的文本进行高亮,然后返回
charsetinfo
String

传入数据的码制,支持UTF-8 和GBK,默认是UTF-8

注:以上的所有参数,在sql 中可以是值,可以是列,也可以是表达式、函数等,只需要满
足Sql 规范即可。
返回值
返回对content 中的出现的search_word 的前后增加begin_mark 和end_mark 后的文
本。
如:select fulltext_mark('abaab','ab','<','>',1,100);由于min_search_len=1,即超过1 个字
符的此都要求反显, ab 被反显,单独的a 和单独的b 也会被反显,结果是:

特殊说明

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 954

支持英文,并且忽略大小写
原文: ”IBM 是一家跨国公司,ibm 的产品很好”
搜索词: “ibm”
反显结果: ”IBM 是一家跨国公司,ibm 的产品很好”

尽量匹配最长的字串
在匹配的过程中,尽量匹配最长的搜索词
原文: “中国北京是个大城市,北京机场很繁忙”
搜索词: “北京机场”
反显结果:”中国北京是个大城市,北京机场很繁忙”
如果最长的字串不能匹配,则减少部分搜索词,进行匹配
原文: “中国北京是个大城市,北京机场很繁忙”
搜索词: “北京机场航站楼”
反显结果:”中国北京是个大城市,北京机场很繁忙”
“北京机场航站楼”
全词不能匹配到,

“北京机场”
可以匹配到,
则反显 “北
京机场”

当要反显的字串小于 min_search_len 时 不予标记
在匹配的过程中,尽量匹配最长的搜索词,如果最长的搜索词不能匹配,则减
少部分搜索词再进行匹配,如果搜索词小于min_search_len 则放弃标引
原文: “中国北京是个大城市,北京机场很繁忙”
搜索词: “北京天安门”
反显结果:”中国北京是个大城市,北京机场很繁忙”
min_search_len:3
要匹配的 “北京天安门”,能匹配的最长的串是“北京”,原文中也有“北
京”,但是 “北京”的长度已经小于 min_search_len 的3,故不能反显

返回的段落长度最大值return_length
返回的段落长度,如果小于return_length,则全部返回,如果返回的段落长度
大于return_length 时,则先截短到这个长度,再返回

支持utf-8 和GBK 编码