一种搜索引擎的索引数据加载方法和装置的制造方法_4

文档序号:9766061阅读:来源:国知局
内存空间,也可以为除内存空间以外的其它高速存储空间,只需不影响搜索引擎的搜索响应时间即可。具体地,第一缓存空间可以为LRU缓存空间。如果是,进入第一数据返回模块58,如果否,进入第二查询模块55。
[0089]第二查询模块55,用于当第一缓存空间不存在第一关键词对应的第一类索引数据时,查询第一内存空间是否存在第一关键词对应的压缩第一类索引数据;第一内存空间存储压缩第一类索引数据。
[0090]第一内存空间存储已压缩第一类索引数据,从而可以减小第一类索引数据所占用的内存量。如果是,进入第一加载模块56。
[0091]第一加载模块56,用于当第一内存空间存在第一关键词对应的压缩第一类索引数据时,对第一关键词对应的压缩第一类索引数据进行解压缩,并将解压缩后的第一类索引数据加载到第一缓存空间。
[0092]因此,第一缓存空间存储的索引数据为解压缩的第一类索引数据。其中,对第一关键词对应的压缩第一类索引数据进行解压缩可以为对压缩第一类索引数据中的倒排表等进行解压缩。进入第三查询模块57。
[0093]第三查询模块57,用于查询第一缓存空间,以获取第一关键词对应的第一类索引数据。
[0094]第一数据返回模块58,用于返回第一关键词对应的第一类索引数据。
[0095]具体地,第一数据返回模块58可以返回第一关键词对应的第一类索引数据至排序算法。
[0096]第四查询模块59,用于以第一关键词对应的第一类索引数据为第二关键词,查询第二缓存空间是否存在第二关键词对应的第二类索引数据。
[0097]其中,第二类索引数据的键为第二关键词,即关键词相关的文档ID的列表,第四查询模块59中第二关键词对应的第二类索引数据为具有该第二关键词的第二类索引数据。另夕卜,第二缓存空间可以为内存空间,也可以为除内存空间以外的其它高速存储空间,只需不影响搜索引擎的搜索响应时间即可。具体地,第二缓存空间可以为LRU缓存空间,此时,LRU缓存空间可以缓存一定数量的第二类索引数据,当超过设定的数量阈值时,就把一些过期的第二类索引数据删除,例如一定数量的第二类索引数据为10000条第二类索引数据,当第二类索引数据小于10000条时可以随意加载新的第二类索引数据,当第二类索引数据超过10000条时,就需要把新的第二类索引数据添加进来,同时要把相应数量的过期第二类索引数据删除,以确保最大缓存数量为10000条。如果是,进入第二数据返回模块513,如果否,进入第五查询模块510。
[0098]第五查询模块510,用于当第二缓存空间不存在第二关键词对应的第二类索引数据时,查询第二内存空间是否存在第二关键词对应的压缩第二类索引数据;第二内存空间存储压缩第二类索引数据。
[0099]第二内存空间存储已压缩第二类索引数据,从而可以减小第二类索引数据所占用的内存量。如果是,进入第二加载模块511。
[0100]第二加载模块511,用于当第二内存空间存在第二关键词对应的压缩第二类索引数据时,对第二关键词对应的压缩第二类索引数据进行解压缩,并将解压缩后的第二类索引数据加载到第二缓存空间。
[0101]因此,第二缓存空间存储的索引数据为解压缩的第二类索引数据。其中,对第二关键词对应的压缩第二类索引数据进行解压缩,可以为对压缩第二类索引数据中的倒排表等进行解压缩。进入第六查询模块512。
[0102]第六查询模块512,用于查询第二缓存空间,以获取第二关键词对应的第二类索引数据。
[0103]第二数据返回模块513,用于返回第二关键词对应的第二类索引数据。
[0104]具体地,第二数据返回模块513可以返回第二关键词对应的第二类索引数据至排序算法。
[0105]第七查询模块514,用于以第一关键词和第一关键词对应的第一类索引数据为第三关键词,查询第三内存空间是否存在第三关键词对应的压缩第三类索引数据;第三内存空间存储压缩第三类索引数据。
[0106]其中,第三类索引数据的键为关键词和关键词相关的文档ID的列表,第三类索引数据的值为关键词下用户的行为数据,第七查询模块514中第三关键词对应的第三类索引数据为具有该第三关键词的第三类索引数据。其中,第三内存空间存储已压缩第三类索引数据,从而可以减小第三类索引数据所占用的内存量。如果是,进入解压缩模块515。
[0107]解压缩模块515,用于当第三内存空间存在第三关键词对应的压缩第三类索引数据时,对第三关键词对应的压缩第三类索引数据进行解压缩。
[0108]其中,对第三关键词对应的第三类索引数据进行解压缩,可以为对压缩第三类索引数据中的倒排表等进行解压缩。进入第三数据返回模块516。
[0109]第三数据返回模块516,用于返回解压缩后的第三类索引数据。
[0110]具体地,第三数据返回模块516可以返回解压缩后的第三类索引数据至排序算法。
[0111]根据本发明实施例四,在第一内存空间中存储压缩第一类索引数据,在第二内存空间中存储压缩第二类索引数据,在第三内存空间中存储压缩第三类索引数据,进而根据第一关键词建立第一缓存空间和第二缓存空间,以分别缓存已经解压缩的第一类索引数据和第二类索引数据。从而使得对于第一类索引数据的大部分查询是查询第一缓存空间中已经解压缩的第一类索引数据,对于第二类索引数据的大部分查询是查询第二缓存空间中已经解压缩的第二类索引数据,对于第三类索引数据的查询是查询第三内存空间中压缩第三类索引数据。实现在不影响搜索响应时间的同时,相对于将索引数据直接展开成排序算法所需数据,本发明有效减少了第一类索引数据、第二类索引数据和第三类索引数据的内存占用量,节省了内存资源,以及当在占用相同内存资源情况下,相对于内存加载压缩的索引数据,本发明有效提高了搜索引擎的搜索响应时间。
[0112]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0113]本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0114]本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0115]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0116]这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0117]尽管已描述
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1