全文检索方法及系统技术方案

技术编号:4190037 阅读:304 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种全文检索方法,包括以下步骤:接收包括检索词的检索表达式,并对检索词进行分词处理;根据分词处理后得到的词条在全文数据库中的VIF文件中查找词条在全文数据库中的BIF文件中的位置信息;根据位置信息在BIF文件中查找与词条对应的记录信息;根据记录信息在全文数据库中的BAF文件中提取对应的数据信息作为检索结果。本发明专利技术还涉及一种全文检索系统,包括:BAF文件存储模块、BIF文件存储模块、VIF文件存储模块、分词模块和检索模块。本发明专利技术在BIF文件中采用了倒排文件索引技术,由于散列码的唯一性检索时可以迅速的找到被检索信息,并通过对BIF文件进行连符的索引,保证了检索时达到高度的查全率和查准率。

【技术实现步骤摘要】

本专利技术涉及信息检索技术,尤其涉及一种全文检索方法及系统,
技术介绍
近年来随着网络应用的发展,网络信息急剧膨胀,如何从海量数 据中找出用户需要的信息的这一 问题对人们来说是至关重要的,传统 的人工方式已经无法适用如此庞大的数据容量,因此基于计算机和网 络技术的信息搜索技术成为解决这一问题的重要工具。在现在的数据库技术中,用于数据检索的数据库技术主要为关系 型数据库。对于关系型数据库,数据持有者须将已存在的数据存入关系型数据库中,然后针对某个字段编写对应的SQL检索表达式,通过 该SQL检索表达式来进行数据的检索。在处理对象数据时,关系型数 据库需要将相关的数据均组织在一张张大小固定的表格中,在检索信息时必须通过SQL检索表达式将信息所涉及的各个表格的关联来达 到检索目的。关系型数据库检索的速度较慢,其查询信息的准确率也 相对较差,尤其是在百万级别以上数据量的情况下,其检索的响应速 度难以令人满意。在多字段检索上,无论是速度还是查准率上都难以 满足人们的需要。另外,对于非格式化数据的检索,关系型数据库不 擅长处理。
技术实现思路
本专利技术的目的是提出一种全文检索方法及系统,能够在海量数据 中为用户快速准确地查找到所需的信息。为实现上述目的,本专利技术提供了一种全文检索方法,包括以下步骤接收包括检索词的检索表达式,并对所述检索词进行分词处理; 根据分词处理后得到的词条在全文数据库中的虚拟信息文件 (Virtual Information File,简称VIF )中查找所述词条在全文数据库中的字节索引文件(Byte Index File,简称BIF)中的位置信息;根据所述位置信息在所述BIF文件中查找与所述词条对应的记录信息;根据所述记录信息在全文数据库中的字节加速文件(Byte Accelerated File,简称BAF)中提取对应的数据信息作为检索结果。进一步的,在检索操作之前,还包括所述全文数据库的建立流程, 该流程具体包括以下步骤根据确定的所述全文数据库中涉及的各种检索字段、检索字段的 类型以及检索字段的快速查找属性来建立数据库脚本;根据所述数据库脚本生成BAF文件,并在该BAF文件中的数据 块中存储输入的记录的整体或部分,然后在记录号索引中保存所述记 录的整体或部分对应的数据块的指针;根据所述BAF文件生成BIF文件,并对所述BAF文件中具有快 速查找属性的检索字段中词条进行散列函数运算,生成与所述词条唯 一对应的散列码,然后在所述BIF文件中保存所述散列码、与该散列 码对应的入口地址以及所述词条的位置信息;根据所述BIF文件生成VIF文件,将所述词条分解成多个连符, 然后在VIF文件中保存所述词条的散列码、所述词条在所述BIF文件 中的位置信息以及各个连符的首字符在所述词条中的偏位值。进一步的,在所述BAF文件中保存记录时,还包括在所述BAF 文件的控制块中保存最高记录号、经过索引的最高记录号以及上次索 引后被修改和新增纪录的记录号中至少一种。进一步的,在所述BAF文件中保存记录时,还包括在所述BAF 文件的空位表中记录未使用的数据空间。进一步的,在所述BIF文件中保存所述词条的位置信息的操作具体为6对于字段类型为词组字段、整数、数值、日期或时间的词条,保存该词条的字段和子字段;对于字段类型为正文字段的词条,保存该词条的字段、段落、句子以及词条在句子中的位置。为实现上述目的,本专利技术还提供了一种全文检索系统,包括BAF文件存储模块,用于存储全文数据库中的各个记录;BIF文件存储模块,用于存储所述BAF文件中设置了快速查找属性的检索字段中的词条的位置信息;VIF文件存储模块,用于存储所述BIF文件中词条的位置信息以及由所述词条分解出的连符相对于所述词条的偏位值;分词模块,用于接收包括检索词的检索表达式,并对所述检索词进4亍分词处理;检索模块,用于根据分词处理后得到的词条在全文数据库中的 VIF文件中查找所述词条在全文数据库中的BIF文件中的位置信息, 然后根据所述位置信息在所述BIF文件中查找与所述词条对应的记录 信息,最后根据所述记录信息在全文数据库中的BAF文件中提取对应 的数据信息作为检索结果。进一步的,所述BAF文件存储模块具体包括用于存储记录的 整体或部分的数据块和用于存储所述记录的整体或部分对应的数据块 的指针的记录号索引;BIF文件存储模块具体包括与所述BAF文件中具有快速查找 属性的检索字段中词条唯一对应的散列码、与该散列码对应的入口地 址以及所述词条的位置信息;VIF文件存储模块具体包括所述词条的散列码、所述词条在所 述BIF文件中的位置信息以及各个连符的首字符在所述词条中的偏位 值。进一步的,所述BAF文件存储模块中还包括 控制块,用于保存最高记录号、经过索引的最高记录号以及上次 索引后被修改和新增纪录的记录号中至少 一种;空位表,用于在记录未使用的数据空间。进一步的,还包括散列码生成器,用于对所述BAF文件存储模 块中具有快速查找属性的检索字段中词条进行散列函数运算,生成与 所述词条唯一对应的散列码。基于上述技术方案,本专利技术检索的对象数据库采用了包括BAF 文件、BIF文件和VIF文件的全文数据库,并且BIF文件中采用了倒 排文件索引技术,由于散列码的唯一性检索时可以迅速的找到被检索 信息。通过对BIF文件进行连符的索引,保证了检索时可以达到高度 的查全率和查准率。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请 的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构 成对本专利技术的不当限定。在附图中图1为本专利技术全文检索方法的一实施例的流程示意图。 图2为本专利技术全文检索方法的另一实施例的全文数据库建立过程 的流程示意图。图3为本专利技术中BAF文件的结构示意图。 图4为本专利技术中BIF文件的词条散列化的过程示意图。 图5为本专利技术全文检索系统的一实施例的结构示意图。 图6为本专利技术全文检索系统的另一实施例的结构示意图。具体实施例方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。本专利技术的全文数据库的组织结构与现有的关系型数据库不同,该 数据库通常只包括三个独立的文件,其后缀分别是.BAF, .BIF和.VIF, 也就是BAF文件、BIF文件和VIF文件。其中BAF文件为基本文件, 存放着数据库记录的原始信息。BIF文件又被称为倒排文件(invertedfile),存放着能对原始信息快速查找的词条,VIF文件是BIF文件所 存词条的倒排信息,主要用于模糊查找,以确保查全率和查准率。这种三文件的结构主要取决于信息内容,而和系统运行所在环境 的存储介质无关,也就是说,数据库的这三个文件是独立于操作系统 平台的。例如,在SUN Solaris平台上建立的这三个文件可以直接移 到OSF1 True-64的系统下运行,无需进4亍数据的倒出、倒入之类的 格式转换。接下来,先分别对这三种文件进行更详细的描述。 如图3所示,为本专利技术中BAF文件的结构示意图。BAF文件由 控制块(control block)、记录号索引(directory track)、空位表(free list)、 数据块(data block)组成,其中数据块和记录号索引是BAF文件的基 本组成本文档来自技高网...

【技术保护点】
一种全文检索方法,包括以下步骤: 接收包括检索词的检索表达式,并对所述检索词进行分词处理; 根据分词处理后得到的词条在全文数据库中的虚拟信息文件文件中查找所述词条在全文数据库中的字节索引文件中的位置信息; 根据所述位置信息 在所述字节索引文件中查找与所述词条对应的记录信息; 根据所述记录信息在全文数据库中的字节加速文件中提取对应的数据信息作为检索结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:张红彬周斯
申请(专利权)人:全国组织机构代码管理中心
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1