基于垂直搜索引擎的信息存储、查询方法及其装置制造方法及图纸

技术编号:8834263 阅读:166 留言:0更新日期:2013-06-22 20:30
本申请公开了一种基于垂直搜索引擎的信息存储、查询方法及其装置,包括:对每个待存储的文档,根据其指定属性字段中包含的属性值,确定属性相关值;判断在消重字典中是否存储有与所述属性相关值相同的数值;如果判断结果为是,将消重字典中存储的起始位置的偏移量和属性值数目,写入到正排表索引文件中;否则,确定所述属性值在正排表数据文件中起始位置的偏移量和属性值数目;将确定的属性相关值、偏移量和属性值数目存储在消重字典中;将确定的偏移量和属性值数目写入到正排表索引文件中,并在该偏移量指向的位置开始写入待存储文档的指定属性字段中包含的属性值,从而降低了内存资源的占用,提高用户使用垂直搜索引擎查询相关信息的速率。

【技术实现步骤摘要】

本申请涉及搜索引擎
,尤其涉及一种基于垂直搜索引擎的信息存储方法及其装置,以及一种基于垂直搜索引擎的信息查找方法及其装置。
技术介绍
垂直搜索引擎是相对通用搜索引擎的信息量大、查询不准确、深度不够等问题而提出来的新的搜索引擎服务模式,是搜索引擎的细分和延伸,用于针对某一特定的领域、某一特定的人群或者某一特定需求,提供有一定价值的信息和相关服务。垂直搜索引擎通过对网页库中的某类专门信息进行整合,定向、分字段抽取出需要的数据,对这些数据进行处理后再以某种形式返回给用户。垂直搜索引擎的基本架构如图1所示,其中,垂直搜索引擎的索引系统数据库主要包括字典与倒排表、正排表/属性(Attribute)和摘要(Summary)三部分。如图2所示,所述字典和倒排表组合在一起称之为倒排索引,字典是指由索引词组成的索引表,在字典中保存了各种中英文词汇以及对应该些词汇的一些统计信息。倒排表是指每个索引词出现过的文档集合,以及命中位置等信息组成的记录表。倒排表中的各个文档以文档编号唯一标识,每个文档编号是由该文档所在网页的URL经过MD5算法变换得到的一个整型值。字典一般存储在内存中,倒排表一般存储在硬盘上。正排表/属性是存储在内存中,用于记录倒排表中的每个文档的属性值的集合。其结构组成如图3所示,包括头信息文件、正排表索引文件以及正排表数据文件。其中,头信息文件用于存储文档字段值的类型信息、文档数量等信息,正排表索引文件用于存储每个文档中预设字段的属性值在正排表数据文件中的起始位置的偏移量和属性值个数的信息对,正排表数据文件,用于按照预设顺序存储每个文档的预设字段的属性值。摘要是用于将搜索结果返回的文档的字段信息的集合。基于上述垂直搜索引擎的基本架构,垂直搜索引擎的查询原理具体如下:S1:将用户输入的搜索词作拆分处理,根据拆分后的搜索词进行倒排索引。即根据拆分后的搜索词,分别在字典中查找与该拆分后的各搜索词对应的词典信息,然后根据查找到的词典信息在倒排表中查询出现过该词典的所有文档的标识信息的集合。S2:根据SI中查找到的所有文档的标识信息,在正排表中查询对应每个文档标识信息的文档的属性值。S3:按照预设的排序算法,根据在正排表中查找到的每个文档的属性值,计算每个文档的排序分值,并根据计算得到的每个文档的排序分值,将各文档进行排序处理,根据排序后的顺序,依次向用户返回文档的摘要信息。这里以输入的搜索词汇是dell computer为例,对上述垂直搜索引擎过程做以详细说明。首先将输入的搜索词汇做分词处理,分成dell和computer,然后在字典里分别查询dell和computer,得到与dell和computer分别对应的倒排表,如图4所示,以computer为例,对应computer的文档标识信息为O和2,即computer在标识信息为O和2的文档中出现过。对应标识信息O和2,在正排表中查询文档标识为O和2的文档对应的属性值。例如,以标识信息2为例,在正排表索引文件中取得与该文档对应的属性值实际保存的起始存储位置的偏移量和属性值个数信息对,即11/6,其中11表示该文档对应的属性值实际保存的起始位置的偏移量,6表示该文档的属性值个数(如图4所示),然后根据获得的偏移量和属性值个数,在正排表数据文件中查询到属性值:0,1,50032886,50032888,50041278和50048524,以同样的步骤获取文档标识为O的文档的属性值信息,然后使用排序算法,根据查找到的文档0、2的属性值信息,分别对文档标识信息为O和2的文档进行排序分值计算,得到对应文档的排序分值,根据计算得到的排序分值对两个文档进行排序,例如排序后的顺序为2,0,则根据排序后的顺序2,0,依次向用户返回文档2和O的摘要信息。上述详细阐述了使用垂直搜索引擎技术实现数据搜索的具体实施方案,因为正排表是需要存储在内存中的,而在正排表的数据文件中,存储的被索引的文档的属性值中,会有较多的相同的文件属性值重复存储,例如在上述图4中,文档标识为O的文档属性值和文档标识为2的文档属性值就是完全相同的,而在正排表数据文件中却要重复存储两次,这种重复性的存储会占用较多的内存资源,使得在用户使用垂直搜索引擎查询相关信息时,会因为系统的内存资源不够而使得搜索的速率降低。
技术实现思路
本申请实施例提供一种基于垂直搜索引擎的信息存储、查询方法及其装置,用以降低对内存资源的占用,提高用户使用垂直搜索引擎查询相关信息的速率。本申请实施例提出的技术方案如下:一种基于垂直搜索引擎的信息存储方法,包括:针对每个待存储的文档,根据该待存储文档的指定属性字段中包含的属性值,确定该待存储文档的指定属性字段的属性相关值;根据确定的属性相关值,判断在消重字典中是否存储有与所述属性相关值相同的数值,所述消重字典中映射存储有已存储的各文档的该指定属性字段的属性相关值、该指定属性字段中包含的属性值在正排表数据文件中起始存储位置的偏移量和属性值数目;如果判断结果为是,将在消重字典中存储的与确定的属性相关值对应的起始存储位置的偏移量和属性值数目,写入到正排表索引文件中与该待存储文档的标识信息对应的存储域中;如果判断结果为否,确定该待存储文档的指定属性字段中包含的属性值在正排表数据文件中起始存储位置的偏移量和属性值数目;将确定的所述属性相关值、起始存储位置的偏移量和属性值数目映射存储在所述消重字典中;并将确定的偏移量和属性值数目写入到正排表索引文件中与该待存储文档的标识信息对应的存储域中,并在正排表数据文件中该偏移量指向的位置开始写入该待存储文档的指定属性字段中包含的属性值。一种基于垂直搜索引擎的信息存储方法,包括:针对每个待存储的文档,根据该待存储文档的指定属性字段中包含的属性值,确定该待存储文档的指定属性字段的属性相关值;根据确定的属性相关值,判断在消重字典中是否存储有与所述属性相关值相同的数值,所述消重字典中映射存储有已存储的各文档的该指定属性字段的属性相关值和文档标识信息;如果判断结果为是,根据在消重字典中存储的与确定的属性相关值对应的文档标识信息,在正排表索引文件中与该文档标识信息对应的存储域中查找对应的偏移量和属性值数目;将查找到的偏移量和属性值数目作为该待存储文档的指定属性字段中包含的属性值在正排表数据文件中起始存储位置的偏移量和属性值数目,写入到正排表索引文件中与该待存储文档的标识信息对应的存储域中;如果判断结果为否,确定该待存储文档的指定属性字段中包含的属性值在正排表数据文件中起始存储位置的偏移量和属性值数目;将该待存储的文档的标识信息与确定的所述属性相关值映射存储在所述消重字典中;并将确定的偏移量和属性值数目写入到正排表索引文件中与该待存储文档的标识信息对应的存储域中,并在正排表数据文件中该偏移量指向的位置开始写入该待存储文档的指定属性字段中包含的属性值。一种基于垂直搜索引擎的信息存储方法,包括:在对应文档一个指定属性字段的正排表索引文件中,当至少两个文档的标识信息分别对应的存储域中存储的偏移量和属性值数目相同时,判断所述至少两个文档中的一个文档的该指定属性字段中包含的属性值是否发生变化;若发生变化,则根据该文档的标识信息对应的存储域中存储的偏移量和属性值数目,在该指定属性本文档来自技高网
...

【技术保护点】
一种基于垂直搜索引擎的信息存储方法,其特征在于,包括:针对每个待存储的文档,根据该待存储文档的指定属性字段中包含的属性值,确定该待存储文档的指定属性字段的属性相关值;根据确定的属性相关值,判断在消重字典中是否存储有与所述属性相关值相同的数值,所述消重字典中映射存储有已存储的各文档的该指定属性字段的属性相关值、该指定属性字段中包含的属性值在正排表数据文件中起始存储位置的偏移量和属性值数目;如果判断结果为是,将在消重字典中存储的与确定的属性相关值对应的起始存储位置的偏移量和属性值数目,写入到正排表索引文件中与该待存储文档的标识信息对应的存储域中;如果判断结果为否,确定该待存储文档的指定属性字段中包含的属性值在正排表数据文件中起始存储位置的偏移量和属性值数目;将确定的所述属性相关值、起始存储位置的偏移量和属性值数目映射存储在所述消重字典中;并将确定的偏移量和属性值数目写入到正排表索引文件中与该待存储文档的标识信息对应的存储域中,并在正排表数据文件中该偏移量指向的位置开始写入该待存储文档的指定属性字段中包含的属性值。

【技术特征摘要】
1.一种基于垂直搜索引擎的信息存储方法,其特征在于,包括: 针对每个待存储的文档,根据该待存储文档的指定属性字段中包含的属性值,确定该待存储文档的指定属性字段的属性相关值; 根据确定的属性相关值,判断在消重字典中是否存储有与所述属性相关值相同的数值,所述消重字典中映射存储有已存储的各文档的该指定属性字段的属性相关值、该指定属性字段中包含的属性值在正排表数据文件中起始存储位置的偏移量和属性值数目; 如果判断结果为是,将在消重字典中存储的与确定的属性相关值对应的起始存储位置的偏移量和属性值数目,写入到正排表索引文件中与该待存储文档的标识信息对应的存储域中; 如果判断结果为否,确定该待存储文档的指定属性字段中包含的属性值在正排表数据文件中起始存储位置的偏移量和属性值数目; 将确定的所述属性相关值、起始存储位置的偏移量和属性值数目映射存储在所述消重字典中;并 将确定的偏移量和属性值数目写入到正排表索引文件中与该待存储文档的标识信息对应的存储域中,并在正排表数据文件中该偏移量指向的位置开始写入该待存储文档的指定属性字段中包含的属性值。2.如权利要求1所述的方法,其特征在于,根据该待存储文档的指定属性字段中包含的属性值,确定该待存储文档的指定属性字段的属性相关值,包括: 对该待存储文档的指定属性字段中包含的属性值,执行哈希运算; 将运算得到的结果作 为该待存储文档的指定属性字段的属性相关值。3.一种基于垂直搜索引擎的信息存储方法,其特征在于,包括: 针对每个待存储的文档,根据该待存储文档的指定属性字段中包含的属性值,确定该待存储文档的指定属性字段的属性相关值; 根据确定的属性相关值,判断在消重字典中是否存储有与所述属性相关值相同的数值,所述消重字典中映射存储有已存储的各文档的该指定属性字段的属性相关值和文档标识息; 如果判断结果为是,根据在消重字典中存储的与确定的属性相关值对应的文档标识信息,在正排表索引文件中与该文档标识信息对应的存储域中查找对应的偏移量和属性值数目; 将查找到的偏移量和属性值数目作为该待存储文档的指定属性字段中包含的属性值在正排表数据文件中起始存储位置的偏移量和属性值数目,写入到正排表索引文件中与该待存储文档的标识信息对应的存储域中; 如果判断结果为否,确定该待存储文档的指定属性字段中包含的属性值在正排表数据文件中起始存储位置的偏移量和属性值数目; 将该待存储的文档的标识信息与确定的所述属性相关值映射存储在所述消重字典中;并 将确定的偏移量和属性值数目写入到正排表索引文件中与该待存储文档的标识信息对应的存储域中,并在正排表数据文件中该偏移量指向的位置开始写入该待存储文档的指定属性字段中包含的属性值。4.一种基于垂直搜索引擎的信息存储方法,其特征在于,包括: 在对应文档一个指定属性字段的正排表索引文件中,当至少两个文档的标识信息分别对应的存储域中存储的偏移量和属性值数目相同时,判断所述至少两个文档中的一个文档的该指定属性字段中包含的属性值是否发生变化; 若发生变化,则根据该文档的标识信息对应的存储域中存储的偏移量和属性值数目,在该指定属性字段的正排表数据文件中查找对应该文档的相应数目的属性值;并 将查找到的属性值重新写入到所述数据文件中的空白区域,并将写入的属性值更新为变化后的属性值;以及 修改该文档的标识信息对应的存储域中存储的偏移量和属性值数目与重新写入的区域和更新后的属性值数目对应。5.一种基于I 4任一权利要求所述的信息存储方法进行信息查询的方法,其特征在于,包括: 将用户输入的搜索词作拆分处理,根据拆分后的搜索词基于倒排表进行倒排索引,得到拆分后的搜索词所出现在的至少一个文档的标识信息; 针对得到的每个文档的标识信息,分别基于正排表进行正排索引,得到每个文档分别对应的属性值; 按照预设的排序算法,根据在正排表中得到的每个文档的属性值,计算每个文档的排序分值; 根据计算得到的每个文档的排序分值,将各文档进行排序处理,根据排序后的顺序,依次返回各文档的摘要信息。6.一种基于垂直搜索引擎的信息存储装置,其特征在于,包括: 属性相关值确定单元,用于针对每个待存储的文档,根据该待存储文档的指定属性字段中包含的属性值,确定该待存储文档的指定属性字段的属性相关值; 判断单元,...

【专利技术属性】
技术研发人员:孙权程丽敏
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

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

1