BUG——DM -3217: 第1 行附近出现错误: 列[***]未编制全文索引或全文索引数据错误(全文索引、是否包含某些字符串)

news2024/11/15 11:03:18

文章目录

  • 一、情景
  • 二、报错
  • 三、解决
  • 四、说明
    • 1、CONTAINS的使用前景
    • 2、全文索引
      • 2.1.全文索引定义语句
      • 2.2.全文索引修改语句
      • 2.3.全文索引删除语句

一、情景

统计某字段中,包含某些字符串的行数

# 使用CONTAINS
select sum(case when CONTAINS(my_column,'123') then 1 else 0 end) as ca from My_DEV.my_table;
# 使用instr
select sum(case when instr(my_column,'123')>0 then 1 else 0 end) as ca from My_DEV.my_table;

二、报错

-3217: 第1 行附近出现错误:
列[***]未编制全文索引或全文索引数据错误

三、解决

如果索引存在,请刷一下数据

# 创建全文索引,并增量填充
CREATE CONTEXT INDEX INDEX_STATISTICAL ON MY_DEV.my_table(my_column) LEXER CHINESE_LEXER SYNC TRANSACTION;
# 删除指定全文索引
DROP CONTEXT INDEX INDEX_STATISTICAL ON MY_DEV.my_table;
# 全文索引全量填充
ALTER CONTEXT INDEX INDEX_STATISTICAL ON MY_DEV.my_table REBUILD;

四、说明

1、CONTAINS的使用前景

  1. 使用 CONTAINS 子句查询时,<列名>必须是已经建立了全文索引并填充后的列,
    否则系统会报错;
  2. 支持精确字、词、短语及一段文字的查询,CONTAINS 谓词内支持 AND | AND NOT
    | OR 的使用,AND 的优先级高于 OR 的优先级;
  3. 支持对每个精确词(单字节语言中没有空格或标点符号的一个或多个字符)或短语
    (单字节语言中由空格和可选的标点符号分隔的一个或多个连续的词)的匹配。对词或短语
    中字符的搜索不区分大小写;
  4. 对于短语或一段文字的查询,根据词库,单个查找串被分解为若干个关键词,忽略
    词库中没有的词和标点符号,在索引上进行(关键词 AND 关键词)匹配查找。因而,不一
    定是精确查询;
  5. 英文查询不区分大小写和全角半角中英文字符;
  6. 不提供 Noise 文件,即不考虑忽略词或干扰词;
  7. 不支持通配符―*‖;
  8. 不提供对模糊词或变形词的查找;
  9. 不支持对结果集的相关度排名;
  10. 检索条件子句可以和其他子句共同组成 WHERE 的检索条件。

2、全文索引

2.1.全文索引定义语句

用户可以在指定的表的文本列上建立全文索引。
语法格式

CREATE CONTEXT INDEX <索引名> ON [<模式名>.] <表名> (<索引列定义>) [<表空间子句>] 
[<STORAGE 子句>] [LEXER <分词参数>] [<SYNC 子句>];
<索引列定义><表空间子句>[<STORAGE 子句>] 请参考本章 3.6.1 索引定义语句相关内容
<SYNC 子句> ::= SYNC [TRANSACTION]

参数

  1. <索引名> 指明要创建的全文索引的名称,由于系统会为全文索引名加上前缀与
    后缀,因此用户指定的全文索引名长度不能超过122字节;
    第 3 章 数据定义语句
    164
  2. <模式名> 指明要创建全文索引的基表属于哪个模式,缺省为当前模式;
  3. <表名> 指明要创建全文索引的基表的名称;
  4. <列名> 指明基表中要创建全文索引的列的名称;
  5. <分词参数> 指明全文索引分词器的分词参数;
  6. <storage 子句> 只有指定表空间参数有效,其他参数无效(即 STORAGE ON xxx
    或者 TABLESPACE xxx 有效,而诸如 INITIAL、NEXT 等无效);
  7. <SYNC 子句> 指明全文索引的同步类型。不指定<SYNC 子句>时创建全文索引后
    系统不进行全文索引填充;指定为 SYNC 时系统将在全文索引建立后对全文索引执行一次完
    全填充;指定为 SYNC TRANSACTION 时系统将在每次事务提交后,自动以增量更新方式
    填充全文索引,不需要用户手动填充。
    图例
    全文索引定义语句
    在这里插入图片描述
    语句功能
    供具有 DBA 角色(三权分立)、DB_OBJECT_ADMIN 角色(四权分立)或该全文索引基
    表的拥有者且具有 CREATE CONTEXT INDEX 或 CREATE ANY CONTEXT INDEX 权限的
    用户,在指定的表的文本列上建立全文索引。
    使用说明
  8. 全文索引必须在一般用户表上定义,而不能在系统表、视图、临时表、列存储表和
    外部表上定义;
  9. 一个全文索引只作用于表的一个文本列,不允许为组合列和计算列;
  10. 同一列只允许创建一个全文索引;
  11. <列名>为文本列,类型可为CHAR、CHARACTER、VARCHAR、LONGVARCHAR、TEXT
    或CLOB;
  12. TEXT、CLOB类型的列可存储二进制字符流数据。如果用于存储DM全文检索模块能
    识别的格式简单的文本文件(如.txt,html等),则可为其建立全文索引;
  13. 全文索引支持简体中文和英文;
  14. 分词参数有5种:CHINESE_LEXER,中文最少分词;CHINESE_VGRAM_LEXER,
    机械双字分词,CHINESE_FP_LEXER,中文最多分词;ENGLISH_LEXER,英文分词;
    DEFAULT_LEXER,中英文最少分词,也是默认分词;
  15. 创建全文索引时,若不指定<SYNC子句>,系统在创建全文索引后不进行填充,需
    要用户使用全文索引修改语句填充索引信息后才能进行全文检索;指定为SYNC时系统将在
    全文索引建立后对全文索引执行一次完全填充;指定为SYNC TRANSACTION时,每次事务
    提交后,若基表数据发生变化,系统会自动以增量更新方式填充全文索引;
  16. 不支持快速装载建有全文索引的表。
    举例说明
    例 用户 SYSDBA 需要在 PERSON 模式下的 ADDRESS 表的 ADDRES1 列上创建全文索
    引,可以用下面的语句:
CREATE CONTEXT INDEX INDEX0001 ON PERSON.ADDRESS(ADDRESS1) LEXER CHINESE_LEXER;

2.2.全文索引修改语句

全文索引需要根据基表进行索引数据填充,若基表数据变化而没有更新全文索引,可能
引起全文检索结果不正确。
使用全文索引修改语句对全文索引进行完全填充和增量填充,使得全文索引的内容与表
数据保持同步。
语法格式

ALTER CONTEXT INDEX < 索引名 > ON [< 模式名 >.] < 表 名 > <REBUILD | INCREMENT | 
OPTIMIZE>[ONLINE] [LEXER <分词参数>];

参数

  1. <索引名> 指明被操作的全文索引的名称;
  2. <模式名> 指明被操作的全文索引属于哪个模式,缺省为当前模式;
  3. <表名> 指明被操作的基表的名称。
    图例
    全文索引修改语句
    在这里插入图片描述
    语句功能
    供具有 DBA 角色(三权分立)的用户或该全文索引基表的拥有者(拥有者需同时具有
    ALTER ANY CONTEXT INDEX 权限)在指定的表的文本列上修改全文索引。
    REBUILD 为完全填充,此方式首先会将全文索引辅助清空,再将基表中所有记录逐个
    取出,根据分词算法获得分词结果,即字/词所在记录的 ROWID 和出现次数,保存在词表
    中。INCREMENT 为增量填充,此方式只是将基表中发生数据变化的记录执行分词并保存分
    词结果。OPTIMIZE 操作仅仅对全文索引辅助表进行优化,去除冗余信息,不影响查询结果。
    使用说明
  4. 若未使用 SYNC 选项创建全文索引,则需要以 REBUILD 方式调用此语句,然后才
    能进行全文检索。这时该修改语句起到填充全文索引信息的作用;
  5. 当该列数据更新后,为了对更新后的数据进行检索,需要再次填充全文索引信息,
    以确保查询的正确性;
  6. DM 服务器启动时,不会自动加载词库,而是在第一次执行全文索引填充时加载,
    之后直到服务器停止才释放;
  7. 在完全更新全文索引后,如果表数据发生少量更新,利用 INCREMENT 增量填充方
    式更新全文索引可以提高效率;
  8. 语句中指定 ONLINE 选项时,指明对全文索引进行异步填充,允许同时对全文索
    引所在的表进行增删改操作;
  9. LEXER 子句只能与 REBUILD 方式一起使用。
    举例说明
    例 用户 SYSDBA 需要在 PERSON 模式下的 ADDRESS 表的 ADDRES1 列上完全填充全
    文索引,可以用下面的语句:
ALTER CONTEXT INDEX INDEX0001 ON PERSON.ADDRESS REBUILD;

2.3.全文索引删除语句

删除全文索引。
语法格式

DROP CONTEXT INDEX [IF EXISTS] <索引名> ON [<模式名>.] <表名>;

参数

  1. <索引名> 指明被操作的全文索引的名称;
  2. <模式名> 指明被操作的全文索引属于哪个模式,缺省为当前模式;
  3. <表名> 指明被操作的基表的名称。
    图例
    全文索引删除语句
    在这里插入图片描述
    语句功能
    供具有 DBA 角色(三权分立)的用户或该全文索引基表的拥有者或该全文索引所属基
    表的拥有者删除全文索引,包括删除数据字典中的相应信息和全文索引内容。
    使用说明
  4. 删除不存在的全文索引会报错。若指定 IF EXISTS 关键字,删除不存在的全文索
    引,不会报错;
  5. 除了该语句可删除全文索引外,当数据库模式发生如下改变时,系统将自动调用全
    文索引删除模块:
  1. 删除表时,删除表上的全文索引;
  2. 删除建立了全文索引的列时,删除列上的全文索引;
  1. 不允许修改建有全文索引的列。
    举例说明
    例 用户 SYSDBA 需要删除在 PERSON 模式下 ADDRESS 表的全文索引,可以用下面的
    语句:
DROP CONTEXT INDEX INDEX0001 ON PERSON.ADDRESS;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/439532.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

12种优雅的接口优化方案

12种优雅的接口优化方案 一、背景二、接口优化方案总结1.批处理2.异步处理3.空间换时间4.预处理5.池化思想6.串行改并行7.索引8.避免大事务9.优化程序结构10.深分页问题11.SQL优化12.锁粒度避免过粗欲速则不达,欲达则欲速! —— 佚名 一、背景 针对老项目,做了许多降本增效…

4、Symbol-ES6新基础类型

symbol是 ES6 新增的一种基本数据类型&#xff0c;它和 number、string、boolean、undefined 和 null 是同类型的&#xff0c;object 是引用类型。它用来表示独一无二的值&#xff0c;通过 Symbol 函数生成。 本小节代码都是纯JavaScript代码&#xff0c;建议在非TypeScript环境…

Rasa实现百度UNIT智能客服教学机器人

背景 上一篇文章提到了百度UNIT智能客服教学机器人&#xff0c;下面用Rasa实现同样的效果。环境如下 Rasa Version : 3.1.0 Minimum Compatible Version: 3.0.0 Rasa SDK Version : 3.1.1 Rasa X Version : 1.1.0 Python Version : …

【LeetCode: 354. 俄罗斯套娃信封问题 | 暴力递归=>记忆化搜索=>动态规划+二分】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

2023年4月份上新的目标检测系列论文(附下载链接)

来源&#xff1a;投稿 作者&#xff1a;王老师 编辑&#xff1a;学姐 目标检测-预训练相关 论文标题&#xff1a;DetCLIPv2: Scalable Open-Vocabulary Object Detection Pre-training via Word-Region Alignment 论文链接&#xff1a; https://arxiv.org/abs/2304.04514代码链…

Auto-GPT免费尝鲜之初体验-使用攻略和总结

Auto-GPT免费尝鲜之初体验-使用攻略和总结 写在前面的废话一、部署 Auto-GPT二、试运行 Auto-GPT三、我踩过的坑四、后续探索 写在前面的废话 ChatGPT 的交互模式&#xff0c;是和一个 “人” 对话聊天。 如果你想了解更多ChatGPT和AI绘画的相关知识&#xff0c;请参考&#…

【代码调试】《Frustratingly Simple Few-Shot Object Detection》

更多问题可参考&#xff1a; https://blog.csdn.net/qiankendeNMY/article/details/128450196 论文地址&#xff1a;https://arxiv.org/abs/2003.06957 论文代码&#xff1a;https://github.com/ucbdrive/few-shot-object-detection 我的配置&#xff1a; Python &#xff1a…

从零开始,详解亚马逊店铺注册流程及技巧指南

近几年跨境电商的势头越来越猛&#xff0c;所以很多新手都想去闯荡一番。很多人的第一选择都是亚马逊&#xff0c;毕竟亚马逊是世界上最大的电商平台之一&#xff0c;因此今天东哥就跟大家分享亚马逊店铺的注册方法&#xff0c;想在亚马逊开店的朋友不要错过&#xff01; 亚马逊…

设计模式 -- 工厂方法模式以及抽象工厂模式

前言 月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂) 央是一片海洋,海乃百川,代表着一块海绵(吸纳万物) 泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出) 月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容 希望大家一起坚持这个过程,也同…

Mysql MVCC实现

文章目录 背景MVCC定义快照读和当前读当前读快照读 MVCC实现原理隐式字段undo log版本链1.插入一条记录2.修改记录3.修改记录 Read View读视图属性&#xff1a;Read View可见性算法 隔离级别长事务为什么要避免长事务 背景 并发事务可能产生的问题&#xff1a; 读读&#xff…

zk111111111111111111

Zookeeper 1 zookeeper(作为 dubbo 的注册中心): 概述: zookeper 是 一个分布式的、开源的分布式应用程序的协调服务,管理分布式应 用 作用: 配置管理,分布式锁,集群管理 2 zookeeper 的安装 (dubbo 的资料中已经整理) 3 zookeeper 的数据模型 zookeeper 是一个树形的服…

微信小程序php+vue 校园租房指南房屋租赁系统

本着诚信的原则&#xff0c;平台必须要掌握出租方必要的真实可信的信息&#xff0c;这样就可以防止欺诈事件的发生&#xff0c;事后也可以联系找到出租方。并且租金等各方面规范标准化&#xff0c;在这易租房诚信可信的平台让承租方与出租方充分有效对接&#xff0c;既方便了承…

扫清盲点:带你学习 树状数组 这种数据结构

什么是树状数组 树状数组是一种用于维护数列前缀和的数据结构&#xff0c;它可以在 O(logn) 的时间复杂度内修改单个元素的值&#xff0c;以及查询某个区间的元素和。 树状数组的特点是什么&#xff1f; 树状数组的特点其实就是&#xff0c;在单点修改 &#xff0c;和区间查询…

rancher2.7丢失集群信息

使用Docker 单节点安装rancher&#xff0c;然后在rancher中创建了一个k8s的集群。重启rancher所在的虚拟机后&#xff0c;登录rancher发现这是新的实例&#xff0c;集群信息丢失了。但是k8s集群还是好好的。 检查k8s的日志&#xff0c;api server日志会报错 time"2023-0…

11 - 多平台适配

多平台适配 11-1&#xff1a;开篇 在上一章中&#xff0c;我们知道了&#xff0c;当【慕课热搜】运行到 h5 端的时候&#xff0c;那么会出现一些问题&#xff0c;这些问题具体有&#xff1a; hot 列表滚动&#xff0c;tabs 置顶效果消失在火狐浏览器中&#xff0c;横线出现非…

kafka-kafka集群配置、kafka集群启动创建kafka主题、获取主题数据

本文章使用三台主机&#xff0c;分别为&#xff1a;master、slave1、slave2 一、解压kafka安装包至目录下 tar -zxvf kafka_2.12-2.4.1.tgz -C /需要放置的路径/ 二、修改配置文件 server.properties 该配置在kafka目录的config目录下 #修改文件中id数值 broker.id0 kafka集群…

Linux -- Web服务器-Apache 快速安装及主配置文件分析

目录 快速安装 Apache : 预处理 &#xff1a; 关闭安全上下文检测 : 关闭防火墙 : 启动 Apache 服务 &#xff08; 启动 httpd &#xff09;: 测试 &#xff1a; 主配置文件分析 &#xff1a; 常见配置文件所在位置 &#xff1a; 目录文件结构 &#xff1a;…

购物车--订单模块,练习完成

目标&#xff1a; 在购物车页面&#xff0c;增加一个创建订单的超链接。通过创建订单&#xff0c;在Order表里新增一条数据&#xff0c;同时把session中的订单条目都保存到数据库中。 1、创建两个表&#xff0c;orders用来具体存储每一个订单的细节&#xff0c;order_用来存储…

基于MobileNetV2的Transfer Learning模型,实现物体检测(附源码)

文章目录 一、MobileNet1. 深度可分离卷积&#xff08;Depthwise separable convolution&#xff09;2. MobileNet V13. MobileNet V2 二、物体检测源码&#xff08;基于MobileNetV2&#xff09; 一、MobileNet 1. 深度可分离卷积&#xff08;Depthwise separable convolution…

智慧园区综合管理平台开发基本功能有哪些?

随着智慧城市建设与信息化发展&#xff0c;园区管理也需要更加智能便捷化&#xff0c;于是智慧园区管理系统开发应运而生。智慧园区综合管理系统就是利用物联网、大数据等技术工具&#xff0c;顺应产业园区升级发展需求&#xff0c;实现园区环境、设备、安全、基础管理、资源服…