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日

悬赏问题

  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 这个复选框什么作用?
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下