最近学习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 条件中无效。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么