p1ckle 2021-12-06 17:59 采纳率: 100%
浏览 9
已结题

Gbase 8a MPP中的SCORE函数是什么

最近学习Gbase 8a MPP的全文索引功能,看到其中使用了SCORE函数,有人能详细介绍一下这个函数的具体功能吗

  • 写回答

1条回答 默认 最新

  • twinking star 2021-12-06 18:04
    关注

    语法格式:
    该函数功能为全文检索对关键字的匹配程度所计算的分数,返回的值是全文查询函数 CONTAINS 查询结果的权重值,值的大小跟全文检索评估算法有关,权重值越高则匹配度越高。GBase 8a MPP Cluster 全文检索的评估模式默认是 BM25算法,可以通过扩展选项"rank=tf"设置采用词频评估算法。
    INT SCORE(N)
    参数名称说明
    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> INSERT INTO sms VALUES(1,1,'晚上去南大上英语课,在南大主楼 1
    15 房间');
    Query OK, 1 row affected

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月13日
  • 已采纳回答 7月5日
  • 创建了问题 12月6日

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)