本发明专利技术公开了一种生成文档索引的方法和装置以及一种搜索方法和装置。所述方法包括:生成以文档中的词为索引的第一索引表,用于记录词以及该词在文档中的位置,生成以文档中的位置为索引的第二索引表,用于记录位置以及与位置相关的信息,其中,只有文档中的一个位置具有需要记录的与该位置相关信息时,才在所述第二索引表中进行记录。本发明专利技术的技术方案,将位置以及与位置相关的信息分离存储,使得在索引中扩展与位置相关的信息更加方便灵活,且只有实际存在的与位置相关的信息才占用存储空间,避免了存储资源的浪费。
【技术实现步骤摘要】
一种生成文档索引的方法和装置以及一种搜索方法和装置
本专利技术涉及互联网搜索
,具体涉及一种生成文档索引的方法和装置以及一种搜索方法和装置。
技术介绍
在搜索引擎系统中,倒排索引被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。即倒排索引会记录每个词在文档里出现的位置(也称为偏移)。为了更好地提升搜索效果,有时需要记录与这些位置相关的信息,包括但不限于:1.这个位置包括在书名号里;例如,《资治通鉴》中的‘通鉴’的出现就是在书名号里;2.这个位置包括在引号里;3.这个位置是在html标签<H3>里。倒排索引用16个bit来记录每个词的每次出现位置,为了记录与位置相关的信息,一般的实现方式是将16bit扩充为32bit,低16位存储位置,高16bit存储与位置相关的信息。当时这种方法带来如下问题:一方面,索引增长太多,由于倒排索引的主要内容为每个词的出现位置,如果将这个值从16bit扩充到32bit,整个倒排索引会增长一倍。另一方面,大多数的位置并具备有价值的与该位置相关的信息,因此实际上大多数存储资源都被浪费了。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种生成文档索引的方法和装置以及一种搜索方法和装置。依据本专利技术的一个方面,提供了一种生成文档索引的方法,其中,该方法包括:生成以文档中的词为索引的第一索引表,用于记录词以及该词在文档中的位置;生成以文档中的位置为索引的第二索引表,用于记录位置以及与位置相关的信息;其中,只有文档中的一个位置具有需要记录的与该位置相关信息时,才在所述第二索引表中进行记录。可选地,所述生成以文档中的位置为索引的第二索引表,用于记录位置以及与位置相关的信息包括:在第二索引表中,以三元组的形式记录与位置相关的信息;所述三元组由以下三元构成:与位置相关的信息的开始位置;与位置相关的信息的长度;与位置相关的信息的类型。可选地,所述每个位置由16比特位来记录;所述与位置相关的信息的开始位置由16比特位来记录;所述与位置相关的信息的长度由8比特位来记录;所述与位置相关的信息的类型由8比特位来记录。依据本专利技术的另一个方面,提供了一种搜索方法,其中,该方法包括:接收搜索请求方发来的搜索词;根据第一索引表找到搜索词在文档中的位置;其中,第一索引表用于记录词以及该词在文档中的位置;根据第二索引表找到与搜索词在文档中的位置相关的信息;其中,第二索引表用于记录位置以及与位置相关的信息;基于所述搜索词对应的文档中的位置和与位置相关的信息,将所述文档作为搜索结果返回给搜索请求方。依据本专利技术的一个方面,提供了一种生成文档索引的装置,其中,该装置包括:第一索引表生成单元,适于生成以文档中的词为索引的第一索引表,用于记录词以及该词在文档中的位置;第二索引表生成单元,适于生成以文档中的位置为索引的第二索引表,用于记录位置以及与位置相关的信息;其中,只有文档中的一个位置具有需要记录的相关信息时,才在所述第二索引表中进行记录。可选地,第二索引表生成单元,适于在第二索引表中,以三元组的形式记录与位置相关的信息;其中,所述三元组由以下三元构成:与位置相关的信息的开始位置,与位置相关的信息的长度;与位置相关的信息的类型。可选地,所述第一索引表生成单元,适于将每个位置用16比特位来记录;所述第二索引表生成单元,适于将与位置相关的信息的开始位置用16比特位来记录,将与位置相关的信息的长度用8比特位来记录,适于与将位置相关的信息的类型用8比特位来记录。依据本专利技术的另一个方面,提供了一种搜索装置,其中,该装置包括:接收单元,适于接收搜索请求方发来的搜索词;搜索单元,适于根据第一索引表找到搜索词在文档中的位置,以及根据第二索引表找到与搜索词在文档中的位置相关的信息;其中,第一索引表用于记录词以及该词在文档中的位置,第二索引表用于记录位置以及与位置相关的信息;发送单元,适于基于所述搜索词对应的文档中的位置和与位置相关的信息,将所述文档作为搜索结果返回给搜索请求方。根据本专利技术的这种生成以文档中的词为索引的第一索引表,用于记录词以及该词在文档中的位置,生成以文档中的位置为索引的第二索引表,用于记录位置以及与位置相关的信息,其中,只有文档中的一个位置具有需要记录的与该位置相关信息时,才在所述第二索引表中进行记录的技术方案,将位置以及与位置相关的信息分离存储,使得在索引中扩展与位置相关的信息更加方便灵活,且只有实际存在的与位置相关的信息才占用存储空间,避免了存储资源的浪费。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的一种生成文档索引的方法的流程图;图2示出了根据本专利技术一个实施例的一种搜索方法的流程图;图3示出了根据本专利技术一个实施例的一种生成文档索引的装置的结构图;图4示出了根据本专利技术一个实施例的一种搜索装置的结构图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本专利技术一个实施例的一种生成文档索引的方法的流程图。如图1所示,该方法包括:步骤S110,生成以文档中的词为索引的第一索引表,用于记录词以及该词在文档中的位置;步骤S120,生成以文档中的位置为索引的第二索引表,用于记录位置以及与位置相关的信息;其中,只有文档中的一个位置具有需要记录的与该位置相关信息时,才在所述第二索引表中进行记录。图1所示的方法,将位置以及与位置相关的信息分离存储,使得在索引中扩展与位置相关的信息更加方便灵活,且只有实际存在的与位置相关的信息才占用存储空间,避免了存储资源的浪费。在本专利技术的一个实施例中,图1所示方法的步骤S120所述生成以文档中的位置为索引的第二索引表,用于记录位置以及与位置相关的信息包括:在第二索引表中,以三元组的形式记录与位置相关的信息;所述三元组由以下三元构成:与位置相关的信息的开始位置,用start表示;与位置相关的信息的长度,用len表示;与位置相关的信息的类型,用rype。三元组具体可表示为<start,len,type>。Start表示与位置相关的信息的开始位置,如书名号的起始位置;len表示与位置相关的信息的长度,如书名号的长度;type表示与位置相关的信息的类型,如该相关的信息为书名号。在本专利技术的一个实施例中每个位置由16比特位(即16bit)来记录;通过位置到三元组列表(即所述的第二索引表)里检索与位置本文档来自技高网...
【技术保护点】
一种生成文档索引的方法,其中,该方法包括:生成以文档中的词为索引的第一索引表,用于记录词以及该词在文档中的位置;生成以文档中的位置为索引的第二索引表,用于记录位置以及与位置相关的信息;其中,只有文档中的一个位置具有需要记录的与该位置相关信息时,才在所述第二索引表中进行记录。
【技术特征摘要】
1.一种生成文档索引的方法,其中,该方法包括:生成以文档中的词为索引的第一索引表,用于记录词以及该词在文档中的位置;生成以文档中的位置为索引的第二索引表,用于记录位置以及与位置相关的信息;所述第一索引表和所述第二索引表将位置以及与位置相关的信息分离存储;其中,只有文档中的一个位置具有需要记录的与该位置相关信息时,才在所述第二索引表中进行记录。2.如权利要求1所述的方法,其中,所述生成以文档中的位置为索引的第二索引表,用于记录位置以及与位置相关的信息包括:在第二索引表中,以三元组的形式记录与位置相关的信息;所述三元组由以下三元构成:与位置相关的信息的开始位置;与位置相关的信息的长度;与位置相关的信息的类型。3.如权利要求2所述的方法,其中,所述每个位置由16比特位来记录;所述与位置相关的信息的开始位置由16比特位来记录;所述与位置相关的信息的长度由8比特位来记录;所述与位置相关的信息的类型由8比特位来记录。4.一种搜索方法,其中,该方法包括:接收搜索请求方发来的搜索词;根据第一索引表找到搜索词在文档中的位置;其中,第一索引表用于记录词以及该词在文档中的位置;根据第二索引表找到与搜索词在文档中的位置相关的信息;其中,第二索引表用于记录位置以及与位置相关的信息;所述第一索引表和所述第二索引表将位置以及与位置相关的信息分离存储;基于所述搜索词对应的文档中的位置和与位置相关的信息,将所述文档作为搜索结果返回给搜索请求方。5.一种生成文档索引的装置,其中,该装置...
【专利技术属性】
技术研发人员:陈进平,董毅,
申请(专利权)人:北京奇虎科技有限公司,奇智软件北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。