数据仓库服务 GAUSSDB(DWS)-全文检索概述
全文检索概述
全文检索(或者说文本搜索)提供了查询可读性文档的能力,并且通过查询相关度将结果进行排序。搜索最常见的方式是:找到包含指定查询词的所有记录,并且按照查询顺序返回这些记录。
文本搜索操作符在数据库中已存在多年。 GaussDB (DWS)为文本数据类型提供~、~*、LIKE和ILIKE操作符,但这些操作符缺乏现代信息系统所要求的许多必要属性,不过这一问题可以通过使用索引及词典进行解决。
实时数仓(单机部署)暂不支持全文检索功能。
- 没有语义支持,即使是英语也是如此。
要识别派生词并不是那么容易,即使正则表达式也不能满足要求。例如satisfies和satisfy,当使用正则表达式寻找satisfy时,并不会查询到包含satisfies的文档。用户可以使用OR搜索多种派生形式,但过程非常繁琐。并且有些词会有上千的派生词,容易出错。
- 没有对搜索结果的分类(排序)。当搜索出成千的文档时,查找效率很低。
- 由于没有索引的支持,每一次的搜索需要遍历所有的文档,整体搜索比较缓慢。
- 将文档解析成token。
为每个文档标记不同类别的token是非常有必要的,例如:数字、文字、复合词、电子邮件地址,这样就可以针对不同类别做不同的处理。原则上token的类别依赖于具体的应用,但对于大多数的应用来说,可以使用一组预定义的token类。
- 将token转换为词素。
词素像token一样是一个字符串,但它已经标准化处理,这样同一个词的不同形式是一样的。例如,标准化通常包括:将大写字母折成小写字母、删除后缀(如英语中的s或者es)。这将允许通过搜索找到同一个词的不同形式,不需要繁琐地输入所有可能的变形样式。同时,这一步通常会删除停用词。这些停用词通常因为太常见而对搜索无用。(总之,token是文档文本的原片段,而词素被认为是有用的索引和搜索词。)GaussDB(DWS)使用词典执行这一步,且提供了各种标准的词典。
词典能够对token如何标准化做到细粒度控制。使用合适的词典,可以定义不被索引的停用词。
数据类型tsvector用于存储预处理文档,tsquery用于存储查询条件,详细内容可参见文本搜索类型。为数据类型tsvector提供的函数和操作符可参见文本检索函数和操作符,其中最重要的是匹配运算符@@,请参见基本文本匹配。
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- 数据库监控DMS_数据库智能运维_了解Auto Pilot_DMS_DWS节点监控
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具
- DWS资源管理_GaussDB(DWS)资源管理作用_DWS资源管控
- DWS产品介绍_DWS产品优势_DWS功能_DWS使用场景_DWS是什么
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- 大数据应用范围有哪些_大数据技术与应用要学习什么课程
- 如何进行日志采集和转储_日志平台_日志接入_日志转储