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

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

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

  • 写回答

1条回答 默认 最新

  • twinking star 2021-12-06 17:58
    关注

    使用 SELECT 语句来查询文本内容,其中使用了 CONTAINS()函数作为查询条件,对设置了全文索引的列内容进行快速匹配。
    查询语法:
    SELECT query_column FROM table_name WHERE CONTAINS (column_name, Query Content[, score_flag])
    参数名称说明
    query_column 需要显示的查询结果列。
    table_name表名。
    column_name 查询列,也即创建了全文索引的列名,不支持多列查询。
    Query Content 需要查找的内容,为字符型,需要使用'...'引用查询内容。内容支持文本查询、逻辑运算查询表达式、
    NEAR 函数等。
    score_flag SCORE 标号,可选项, 如不填写,则表示不输出评估值, 应与 SCORE 函数一起使用。
    说明
    当一条查询语句中含有多个 contains 函数条件时,score_flag 参数值应互不相同,否则会报语法错误信息:Incorrect arguments to CONTAINS FUNCTION - SCORE FLAG COLLISION。
    示例
    示例 1:查询有多少条短信包含“南大通用”这 4 个字符。
    gbase> SELECT COUNT() FROM sms WHERE contains(MB_Text, '南大通用');
    +----------+
    | COUNT(
    ) |
    +----------+
    | 1 |
    +----------+
    1 row in set
    gbase> SELECT COUNT() FROM sms WHERE contains(MB_Text, '南大通用', 0);
    +----------+
    | COUNT(
    ) |
    +----------+
    | 1 |
    +----------+
    1 row in set
    示例 2:查询包含“南开”的短信并且按照 score 分值倒排序。
    gbase> SELECT score(1) AS score,MB_Text FROM sms WHERE
    contains(MB_Text, '南开',1) ORDER BY score DESC;
    +-------+------------------------------------------------------+
    | score | MB_Text |
    +-------+------------------------------------------------------+
    | 1537 | 周末去天津博物馆参观,在南开区南门外大街公交车站集合|
    +-------+------------------------------------------------------+
    1 row in set
    示例 3:contains 函数用于 where 条件中有效,不支持在 having 条件中搜索,即在
    having 条件中无效。

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

报告相同问题?

问题事件

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

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码