首页 > 其他分享 >openGauss 全文索引

openGauss 全文索引

时间:2024-04-03 16:44:06浏览次数:16  
标签:词素 全文索引 token 文档 openGauss 词典

全文索引

可获得性

本特性自openGauss 1.1.0版本开始引入。

特性简介

openGauss中提供的全文索引功能可以对文档进行预处理,并且可以使后续的搜索更快速。

客户价值

openGauss 全文索引功能提供了查询可读性文档的能力,并且通过查询相关度将结果进行排序。

特性描述

构建全文索引的预处理过程包括:

  • 将文档解析成token。

    为每个文档标记不同类别的token是非常有必要的,例如:数字、文字、复合词、电子邮件地址,这样就可以做不同的处理。原则上token的类别依赖于具体的应用,但对于大多数的应用来说,可以使用一组预定义的token类。

  • 将token转换为词素。

    词素像token一样是一个字符串,但它已经标准化处理,这样同一个词的不同形式是一样的。例如,标准化通常包括:将大写字母折成小写字母、删除后缀(如英语中的s或者es)。这将允许通过搜索找到同一个词的不同形式,不需要繁琐地输入所有可能的变形样式。同时,这一步通常会删除停用词。这些停用词通常因为太常见而对搜索无用。(总之,token是文档文本的原片段,而词素被认为是有用的索引和搜索词。)openGauss使用词典执行这一步,且提供了各种标准的词典。

  • 保存搜索优化后的预处理文档。

    比如,每个文档可以呈现为标准化词素的有序组合。伴随词素,通常还需要存储词素位置信息以用于邻近排序。因此文档包含的查询词越密集其排序越高。词典能够对token如何标准化做到细粒度控制。使用合适的词典,可以定义不被索引的停用词。

特性增强

无。

特性约束

openGauss的全文检索功能当前限制约束是:

  • 每个分词长度必须小于2KB。
  • tsvector结构(分词+位置)的长度必须小于1MB。
  • tsvector的位置值必须大于0,且小于等于16,383。
  • 每个分词在文档中位置数必须小于256,若超过将舍弃后面的位置信息。

依赖关系

无。

标签:词素,全文索引,token,文档,openGauss,词典
From: https://www.cnblogs.com/renxyz/p/18112882

相关文章

  • openGauss数据库扩容指导
    前置条件当前集群状态正常操作步骤1、新节点创建用户和用户组,注意需要与当前集群的用户与用户组一致,密码也要保持一致。假设当前集群用户为omm。2、检查新节点环境变量,清理和openGauss相关的环境变量配置。主要检查/etc/profile和/home/omm/.bashrc两个文件。如果清理不......
  • OpenGauss数据库对象属主变更后会自动调整对象权限吗?
    OpenGauss数据库对象属主变更后会自动调整对象权限吗?OpenGauss数据库创建了数据库对象之后,可以使用alter命令修改对象的属主。以表为例,修改属主的命令如下:ALTERTABLE<table_name>OWNERTO<role_name>;接下来就测试一下修改表的属主,观察一下表的权限调整情况:创建测试......
  • openGauss中的sequence跟Oracle的sequence有什么区别?
    openGauss中的sequence跟Oracle的sequence有什么区别?openGauss中也提供了sequence序列功能,使用Oracle的用户应该都非常喜欢使用这个功能。所以如果从Oracle迁移到openGauss,那么这项功能可以完全替代了。接下来我们简单测试一下:enmotech=>droptabletest;DROP......
  • MogDB/openGauss 自定义snmptrapd告警信息
    MogDB/openGauss自定义snmptrapd告警信息在实际使用中,默认的报警规则信息并不能很好的满足snmp服务端的需求,需要定制化报警信息,这里以添加ip为例,看似一个简单的将IP一行信息单独在报警展示出来,涉及到的配置文件修改还是挺多的。修改prometheus.yml文件首先需要修改......
  • opengauss数据库-主从搭建
    opengauss数据库-主从搭建环境说明软件下载opengauss下载地址:https://opengauss.org/zh/download/环境准备关闭SELINUX修改/etc/selinux/config文件中的“SELINUX”值为“disabled[root@ogpriopenGauss]#more/etc/selinux/configThisfilecontrolsthestateof......
  • MogDB/openGauss关于PL/SQL匿名块调用测试
    MogDB/openGauss关于PL/SQL匿名块调用测试一、原理介绍PL/SQL(ProcedureLanguage/StructureQueryLanguage)是标准SQL语言添加了过程化功能的一门程序设计语言。单一的SQL语句只能进行数据操作,没有流程控制,无法开发复杂的应用。PL/SQL语言是结合了结构化查询与数据库......
  • MogDB/openGauss中merge的语法解析
    MogDB/openGauss中merge的语法解析近期了解学习了MogDB/openGauss中merge的使用,merge语法是根据源表对目标表进行匹配查询,匹配成功时更新,不成功时插入。简单来说就是有则更新,无则插入,语句简洁,效率高。下面展示MogDB/openGauss中merge的语法openGauss=#\hmergeCo......
  • openGauss/MogDB-3.0.0 dcf测试(非om安装)
    openGauss/MogDB-3.0.0dcf测试(非om安装)本文出处:https://www.modb.pro/db/402037IP地址...LERDER...FOLLOWER...FOLLOWER一、安装openGauss安装依赖包yuminstall-ybzip2bzip2-develcurllibaio创建用户、组并创建目录groupaddomma-g20001useraddomm......
  • 关于openGauss中的虚拟索引
    关于openGauss中的虚拟索引作为曾经的Oracle资深使用者,对于Oracle11gR2版本推出的invisibleIndex感觉一直很良好;因为这对于大部分情况下做优化是比较友好的。实际上openGauss2.0版本中也提供了类似的功能,下面我们来进行简单测试。首先我们创建一个测试表用来验证ope......
  • openGauss关于PL/SQL匿名块调用测试
    openGauss关于PL/SQL匿名块调用测试一、原理介绍PL/SQL(ProcedureLanguage/StructureQueryLanguage)是标准SQL语言添加了过程化功能的一门程序设计语言。单一的SQL语句只能进行数据操作,没有流程控制,无法开发复杂的应用。PL/SQL语言是结合了结构化查询与数据库自身过......