返回首页

gbase数据、南大通用产品文档:GBase8aSCORE 评估函数

更新日期:2024年09月11日

语法格式
该函数功能为全文检索对关键字的匹配程度所计算的分数,返回的值是全文查询
函数CONTAINS 查询结果的权重值,值的大小跟全文检索评估算法有关,权重
值越高则匹配度越高。GBase 8a MPP Cluster 全文检索的评估模式默认是BM25
算法,可以通过扩展选项"rank=tf"设置采用词频评估算法。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
942
INT SCORE(N)
表5- 47 参数说明
参数名称


INT
返回值为INT 类型,该数值为与其SCORE 标号一致的全文
查询函数CONTAINS 查询结果权重,
N
SCORE 标号,整数类型, 该数值应与当前查询语句的Where
子句中某一全文查询CONTAINS 函数的SCORE 标号一致。
注意

SCORE 函数只能用于投影列、
GROUP BY 和ORDER BY 子句中,
否则报
错。
gbase> SELECT *
FROM t WHERE contains(a ,' 中国',0) AND
score(0) >10;
ERROR 1149 (42000): score function can ONLY in SELECT, GROUP BY or
ORDER BY clause

如果没有与其SCORE 标号一致的全文查询函数CONTAINS,则报出错误
信息:
gbase> SELECT score(1) a1 FROM t WHERE contains(a ,'中国',0);
ERROR 1149 (42000): not match the number of score func

如果多个CONTAINS 函数的SCORE 标号均与其一致,则报出错误信息:
gbase> SELECT score(0) FROM t WHERE contains(b, 'abc' , 0) AND
contains(b, 'bcb' , 0);
ERROR 1210 (HY000): Incorrect arguments to CONTAINS FUNCTION -
SCORE FLAG COLLISION
示例
示例1:查询包含“南大”词组的短信并且按照score 分值倒排序。示例中第1 行
数据中权重值跟其他两行相比要高,因为第1 行查询“南大”命中了两次,其他
两行只命中了一次。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
943
gbase> INSERT INTO sms VALUES(1,1,'晚上去南大上英语课,
在南大主楼
115 房间');
Query OK, 1 row affected
gbase> INSERT INTO sms VALUES (1,1,'南大通用数据技术有限公司地
址:天津花苑产业区海泰发展6 号海泰J 座');
Query OK, 1 row affected
gbase> INSERT INTO sms VALUES (1,1,'南大开设java 编程培训班,
每周
五晚上7:00-9:00 上课');
Query OK, 1 row affected
gbase> SELECT score(1) AS score, MB_Text FROM sms WHERE conta
ins(MB_Text, '"南大"',1) ORDER BY score DESC;
+-------+----------------------------------------------------+
| score | MB_Text
|
+-------+----------------------------------------------------+
|
1511 | 晚上去南大上英语课,在南大主楼115 房间
|
|
1508 | 南大通用数据技术股份有限公司地址:...
|
|
1508 | 南大开设java 编程培训班,每周五晚上7:00-9:00 上课|
+-------+----------------------------------------------------+
3 rows in set

GBase 集群需要高速网络来保证整体性能。建议采用万兆网络甚至25G 网络。

在返回一个空间用尽错误之前,使用 SP_WAITTIME 配置参数来指定线程等待 dbspace、临
时 dbspace、plogspace、sbspace、临时 sbspace 或 blobspace 空间扩展的最大秒数。
onconfig.std 值
SP_WAITTIME 30

0 - 2147483647
单位

生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。
用法
服务器用来自动地添加或扩展 chunk 的时间可差异很大,这依赖于不同的因素,诸如
chunk 的大小、相关磁盘驱动的速度以及系统上的负载。当 GBase 8s 自动地添加或扩展
chunk 以防止空闲空间降至 SP_THRESHOLD 配置参数指定的阈值之下时, GBase 8s 强制
那些需要该空间的线程等待直到空间可用。
如果您想更改线程将等待更多空间的最大秒数,
则可更改 SP_WAITTIME 配置参数的值。
仅当存储池包含条目时,线程才会等待存储空间扩展。如果存储池为空,则线程将不等待。