GBase 8c 全文检索-概述

        文本搜索(~、~*、LIKE和ILIKE操作符)在对文本进行搜索操作时,缺少一些系统要求的必要属性:

  • 即使是英文环境也没有语义支持;
  • 没有对搜索结果的分类(排序)。当搜索出成千的文档时,查找效率很低。
  • 由于没有索引的支持,每一次的搜索需要遍历所有的文档,整体搜索比较缓慢。

        使用全文索引可以对文档进行预处理,并且可以使后续的搜索更快速。预处理过程包括:

        1. 将文档解析成记号:

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

        2. 将记号转换为词位:

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

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

        比如,每个文档可以呈现为标准化词位的有序组合。伴随词位,通常还需要存储词位位置信息以用于邻近排序。因此文档包含的查询词越密集其排序越高。

        词典能够对词位如何标准化做到细粒度控制。使用合适的词典,可以定义不被索引的停用词。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值