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,若超过将舍弃后面的位置信息。
依赖关系
无。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!