基于索引库的数据检索方法及系统的制作方法
【技术领域】
[0001]本发明涉及数据检索技术领域,特别是涉及基于索引库的数据检索方法及系统。
【背景技术】
[0002]为了提高检索效率,数据检索系统通常会为检索对象构建索引库,然后基于索引库进行数据检索,其中,索引库通常为:将从检索对象中所提取出的一些信息作为索引信息组织而成。举例而言:对于一篇文档,所对应的索引信息为从该文档中提取的文字内容或者文档的属性参数,文档的属性参数可以为:作者姓名,文档类别,等等。
[0003]其中,数据检索系统在启动时,会构建当前所存在的作为检索对象的基础数据所对应的索引库,进而基于该索引库执行后续的数据检索;并且,由于数据资源会不断增多,需要增加辅助数据来完善所存在的检索对象,此时,相应的索引库也需要更新,例如:对于百度、谷歌等的数据检索系统,由于每天的网络资源不断增加,这无疑使得需要不断增加辅助数据来完善检索对象,那么,相应的索引库也就需要不断更新。现有技术中,数据检索系统在获得所增加的辅助数据后,每次都基于所增加的辅助数据和当前所存在的检索对象,对当前所存在的索引库进行重构,从而在重构完成后,后续基于所重构的索引库来进行数据检索。
[0004]尽管现有的方式能够保证索引库与检索对象的有效对应,但是,每次获得辅助数据对旧的索引库执行重构,导致更新索引库的工作量较大,并且,在执行重构过程无疑影响对数据检索请求的响应。
【发明内容】
[0005]本发明实施例的目的在于提供一种基于索引库的数据检索方法及系统,以降低更新索引库的工作量且避免数据检索请求的响应受到影响。具体技术方案如下:
[0006]第一方面,本发明实施例提供了一种基于索引库的数据检索方法,应用于数据检索系统,所述数据检索系统预先构建作为检索对象的基础数据所对应的基础索引库;所述方法包括:当获得作为检索对象的辅助数据时,构建所述辅助数据所对应的辅助索引库;[0007 ] 所述方法还包括:
[0008]当获得数据检索请求时,确定当前所存在的至少一个目标索引库,其中,所述至少一个目标索引库包括基础索引库一类索引库,或者,所述基础索引库和所述辅助索引库两类索引库;
[0009]基于所确定出的当前所存在的至少一个目标索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果。
[0010]可选的,所述辅助索引库与所述基础索引库的构建方式相同。
[0011]可选的,所述基于所确定出的当前所存在的至少一个目标索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果,包括:
[0012]从至少一个目标索引库中,分别确定是否存在与所述数据检索请求所携带检索词相匹配的索引信息,如果存在,从该目标索引库所对应的检索对象中,获得该索引信息所对应的初级检索结果;
[0013]基于所获得的初级检索结果,确定所述数据检索请求所对应的检索结果。
[0014]可选的,所述基于所获得的初级检索结果,确定所述数据检索请求所对应的检索结果,包括:
[0015]对所获得的初级检索结果求并集;
[0016]将求并集所得结果作为所述数据检索请求所对应的检索结果。
[0017]可选的,获得作为检索对象的辅助数据的方式包括:
[0018]基于网络爬虫定时上传数据的方式,获得作为检索对象的辅助数据;
[0019]或者,
[0020]基于定时从网络爬虫处请求数据的方式,获得作为检索对象的辅助数据。
[0021]可选的,获得作为检索对象的辅助数据的方式包括:
[0022]基于人工导入数据方式,获得作为检索对象的辅助数据。
[0023]可选的,所述辅助索引库与所述基础索引库的构建方式为:倒排表方式。
[0024]第二方面,本发明实施例提供了一种基于索引库的数据检索系统,所述数据检索系统预先构建作为检索对象的基础数据所对应的基础索引库;所述系统包括:
[0025]辅助索引库构建模块,用于当获得作为检索对象的辅助数据时,构建所述辅助数据所对应的辅助索引库;
[0026]所述系统还包括:
[0027]目标索引库确定模块,用于当获得数据检索请求时,确定当前所存在的至少一个目标索引库,其中,所述至少一个目标索引库包括基础索引库一类索引库,或者,所述基础索引库和所述辅助索引库两类索引库;
[0028]检索结果确定模块,用于基于所确定出的当前所存在的至少一个目标索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果。
[0029]可选的,所述辅助索引库与所述基础索引库的构建方式相同。
[0030]可选的,所述检索结果确定模块,包括:
[0031]初级索引结果获得单元,用于从至少一个目标索引库中,分别确定是否存在与所述数据检索请求所携带检索词相匹配的索引信息,如果存在,从该目标索引库所对应的检索对象中,获得该索引信息所对应的初级检索结果;
[0032]检索结果确定单元,用于基于所获得的初级检索结果,确定所述数据检索请求所对应的检索结果。
[0033]可选的,所述检索结果确定单元,包括:
[0034]并集求取子单元,用于对所获得的初级检索结果求并集;
[0035]检索结果确定子单元,用于将求并集所得结果作为所述数据检索请求所对应的检索结果。
[0036]可选的,所述辅助索引库构建模块获得作为检索对象的辅助数据的方式包括:
[0037]基于网络爬虫定时上传数据的方式,获得作为检索对象的辅助数据;
[0038]或者,
[0039]基于定时从网络爬虫处请求数据的方式,获得作为检索对象的辅助数据。
[0040]可选的,所述辅助索引库构建模块获得作为检索对象的辅助数据的方式包括:
[0041]基于人工导入数据方式,获得作为检索对象的辅助数据。
[0042]可选的,所述辅助索引库与所述基础索引库的构建方式为:倒排表方式。
[0043]本发明实施例中,数据检索系统预先构建作为检索对象的基础数据所对应的基础索引库,并当获得作为检索对象的辅助数据时,构建该辅助数据所对应的辅助索引库;进而,当获得数据检索请求时,确定当前所存在的至少一个目标索引库;基于所确定出的当前所存在的至少一个目标索引库以及所对应的检索对象,确定该数据检索请求所对应的检索结果。可见,与现有技术相比,本方案并不依据多次获得的辅助数据对基础索引库重构,而是在保证基础索引库不变的情况,增设辅助数据所对应的辅助索引库,因此,可以降低更新索引库的工作量且避免数据检索请求的响应受到影响。
【附图说明】
[0044]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0045]图1为本发明实施例所提供的一种基于索引库的数据检索方法的流程图;
[0046]图2为本发明实施例所提供的一种基于索引库的数据检索系统的结构示意图。
【具体实施方式】
[0047]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]为了降低更新索引库的工作量且避免数据检索请求的响应受到影响,本发明实施例提供了一种基于索引库的数据检索方法及系统。
[0049]下面首先对本发明实施例所提供的一种基于索引库的数据检索方法进行介绍。
[0050]本发明实施例所提供的一种基于索引库的数据检索方法应用于数据检索系统,SP本发明实施例所提供的一种基于索引库的数据检索方法的执行主体为一种基于索引库的数据检索系统;并
且,该数据检索系统预先构建作为检索对象的基础数据所对应的基础索引库。
[0051]可以理解的是,基础数据的获得方式可以采用现有技术获得,例如:人工导入方式,或者,通过网络爬虫爬取方式,等等,这都是合理的;并且,构建作为检索对象的基础数据所对应的基础索引库的具体实现方式可以采用现有方式,举例而言:构建基础索引库的具体实现方式可以为倒排表方式,当然并不局限于此。
[0052]如图1所示,本发明实施例所提供的一种基于索引库的数据检索方法,可以包括如下步骤:
[0053]S101,当获得作为检索对象的辅助数据时,构建该辅助数据所对应的辅助索引库;
[0054]为了丰富检索对象,可以多次获得作为检索对象的辅助数据,并且,当每次获得作为检索对象的辅助数据时,可以构建该辅助数据所对应的辅助索引库。需要强调的是,所谓的“基础数据”中的“基础”以及“辅助数据”中的“辅助”仅仅是为了不同时刻存在的作为检索对象的数据,并不具有任何限定意义;类似的,“基础索引库”中的“基础”和“辅助索引库”中的“辅助”仅仅是为了区分通过基础数据和辅助数据所构建的索引库,并不具有任何限定意义。
[0055]其中,该辅助索引库的构建方式可以与该基础索引库的构建方式相同;并且,可以理解的是,在实际应用中,辅助索引库和基础索引库的构建方式可以采用现有方式,举例而言:倒排表方式,当然并不局限于此。
[0056]可以理解的是,获得作为检索对象的辅助数据的方式存在多种,为了方案清楚,下面介绍几种具体实现方式:
[0057]方式一:基于网络爬虫定时上传数据的方式,获得作为检索对象的辅助数据。
[0058]其中,在该种实现方式中,网络爬虫按照预定的爬取任务在网络上爬取用于作为检索对象的辅助数据,并且,定时将所爬取到的辅助数据上传至数据检索系统;所谓网络爬虫在网络上爬取辅助数据的方式可以采用现有技术中的网络爬虫在网络上爬取网络数据的方式。
[0059]方式二:基于定时从网络爬虫处请求数据的方式,获得作为检索对象的辅助数据。
[0060]其中,在该种实现方式中,网络爬虫按照预定的爬取任务在网络上爬取用于作为检索对象的辅助数据,并缓存所爬取的网络数据,进而,数据检索系统定时向网络爬虫请求所爬取的网络数据,其中,所谓网络爬虫在网络上爬取辅助数据的方式可以采用现有技术的网络爬虫爬取网络数据的方式。
[0061 ]方式三:基于人工导入数据方式,获得作为检索对象的辅助数据。
[0062]其中,在该种实现方式中,可以通过人工方式获取到作为检索对象的辅助数据,进而,通过数据检索系统所提供的数据导入入口来人工导入该辅助服务。
[0063]需要强调的是,上述的获得作为检索对象的辅助数据的方式仅仅作为示例,并不应该构成对本发明实施例的限定。
[0064]S102,当获得数据检索请求时,确定当前所存在的至少一个目标索引库,其中,至少一个目标索引库包括基础索引库一类索引库,或者,该基础索引库和该辅助索引库两类索引库;
[0065]其中,当获得数据检索请求时,由于存在获得辅助数据以及辅助数据所对应的辅助索引库的过程,因此,为了保证数据检索请求所对应的检索结果的完整性,可以首先确定当前所存在的至少一个目标索引库。
[0066]可以理解的是,由于数据检索请求的获得时刻可以在基础索引库建立之后,辅助索引库建立之前,因此,该至少一个目标索引库可以包括基础索引库一类索引库;而由于数据检索请求的获得时刻可以在辅助索引库建立之后,因此,该至少一个目标索引库可以包括基础索引库和辅助索引库这两类索引库。
[0067]S103,基于所确定出的当前所存在的至少一个目标索引库以及所对应的检索对象,确定该数据检索请求所对应的检索结果。
[0068]在确定出当前所存在的至少一个目标索引库后,可以基于所确定出的当前所存在的至少一个目标索引库以及所对应的检索对象,确定该数据检索请求所对应的检索结果。当然,在确定出该数据检索请求所对应的检索结果后,可以输出该检索结果,以使得该数据检索请求的发出者能够获知该检索结果。
[0069]具体的,所述基于所确定出的当前所存在的至少一个目标索引库以及所对应的检索对象,确定该数据检索请求所对应的检索结果,可以包括:
[0070]从至少一个目标索引库中,分别确定是否存在与该数据检索请求所携带检索词相匹配的索引信息,如果存在,从该目标索引库所对应的检索对象中,获得该索引信息所对应的初级检索结果;
[0071]基于所获得的初级检索结果,确定该数据检索请求所对应的检索结果。
[0072]其中,数据索引请求中携带有检索词,每一目标索引库中可以存在至少一个与检索词相匹配的索引信息,或者,不存在与检索信息相匹配的索引信息,这都是合理的。可以理解的是,所谓检索词与索引信息相匹配具体指:检索词的部分内容与索引信息相同、检索词与索引信息相同和/或检索词包含于索引信息,等等。并且,当至少一个目标索引库中均不存在与该数据检索请求所携带检索词相匹配的索引信息,此时,则可以将该数据检索请求所对应的检索结果确定为内容为空。举例而言:假设检索词为”笔记本”,那么,对于检索词与索引信息匹配为检索词包含于索引信息的情况,与该检索词匹配的索引信息可以包括:“笔记本排名”,对于检索词与索引信息匹配为检索词的部分内容与索引信息相同的情况,与该检索词匹配的索引信息可以包括:“云笔记”,对于检索词与索引信息匹配为检索词与索引信息相同的情况,与该检索词匹配的索引信息可以包括“笔记本”。
[0073]进一步的,所述基于所获得的初级检索结果,确定该数据检索请求所对应的检索结果,可以包括:
[0074]对所获得的初级检索结果求并集;
[0075]将求并集所得结果作为该数据检索请求所对应的检索结果。
[0076]其中,对初级检索结果求并集的具体实现方式可以参照现有技术中的实现方式;同样的,从该目标索引库所对应的检索对象中获得该索引信息所对应的初级检索结果的具体实现方式可以采用现有,在此不做赘述。
[0077]举例而言:假设数据检索系统采用倒排表方式预先构建有基础索引库A,该基础索引库A所对应的检索对象为基础数据1,并且,在获得数据检索请求a之前,依次获得过两组作为检索对象的的辅助数据:辅助数据2和辅助数据3,当获得辅助数据2时,采用倒排表方式构建该辅助数据2所对应的辅助索引库B,当获得辅助数据3时,采用倒排表方式构建该辅助数据3所对应的辅助索引库C;而当获得数据检索请求a时,确定当前所存在的至少一个目标索引库:基础索引库A、辅助索引库B和辅助索引库C,进一步的,从至少一个目标索引库中,分别确定是否存在与该数据检索请求a所携带检索词相匹配的索引信息,假设确定结果为:基础索引库A中不存在与该数据检索请求a所携带检索词相匹配的索引信息,辅助索引库B中存在与该数据检索请求a所携带检索词相匹配的索引信息1和索引信息2,辅助索引库C中存在与该数据检索请求a所携带检索词相匹配的索引信息3,此时,从辅助索引库B所对应的辅助数据2中获得索引信息1所对应的初级检索结果1以及索引信息2所对应的初级检索结果2,从辅助索引库C所对应的辅助数据3中获得索引信息3所对应的初级检索结果3,对初级检索结果1、初级检索结果2和初级检索结果3求并集,将求并集所得结果作为该数据检索请求a所对应的检索结果。
[0078]本发明实施例中,数据检索系统预先构建作为检索对象的基础数据所对应的基础索引库,并当获得作为检索对象的辅助数据时,构建该辅助数据所对应的辅助索引库;进而,当获得数据检索请求时,确定当前所存在的至少一个目标索引库;基于所确定出的当前所存在的至少一个目标索引库以及所对应的检索对象,确定该数据检索请求所对应的检索结果。可见,与现有技术相比,本方案并不依据多次获得的辅助数据对基础索引库重构,而是在保证基础索引库不变的情况,增设辅助数据所对应的辅助索引库,因此,可以降低更新索引库的工作量且避免数据检索请求的响应受到影响。
[0079]相应于上述方法实施例,本发明实施例还提供了一种基于索引库的数据检索系统,所述数据检索系统预先构建作为检索对
象的基础数据所对应的基础索引库;如图2所示,所述系统包括:
[0080]辅助索引库构建模块210,用于当获得作为检索对象的辅助数据时,构建所述辅助数据所对应的辅助索引库;
[0081 ] 所述系统还包括:
[0082]目标索引库确定模块220,用于当获得数据检索请求时,确定当前所存在的至少一个目标索引库,其中,所述至少一个目标索引库包括基础索引库一类索引库,或者,所述基础索引库和所述辅助索引库两类索引库;
[0083]检索结果确定模块230,用于基于所确定出的当前所存在的至少一个目标索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果。
[0084]本发明实施例中,数据检索系统预先构建作为检索对象的基础数据所对应的基础索引库,并当获得作为检索对象的辅助数据时,构建该辅助数据所对应的辅助索引库;进而,当获得数据检索请求时,确定当前所存在的至少一个目标索引库;基于所确定出的当前所存在的至少一个目标索引库以及所对应的检索对象,确定该数据检索请求所对应的检索结果。可见,与现有技术相比,本方案并不依据多次获得的辅助数据对基础索引库重构,而是在保证基础索引库不变的情况,增设辅助数据所对应的辅助索引库,因此,可以降低更新索引库的工作量且避免数据检索请求的响应受到影响。
[0085]具体的,所述辅助索引库与所述基础索引库的构建方式相同。
[0086]具体的,所述检索结果确定模块230,可以包括:
[0087]初级索引结果获得单元,用于从至少一个目标索引库中,分别确定是否存在与所述数据检索请求所携带检索词相匹配的索引信息,如果存在,从该目标索引库所对应的检索对象中,获得该索引信息所对应的初级检索结果;
[0088]检索结果确定单元,用于基于所获得的初级检索结果,确定所述数据检索请求所对应的检索结果。
[0089]具体的,所述检索结果确定单元,可以包括:
[0090]并集求取子单元,用于对所获得的初级检索结果求并集;
[0091]检索结果确定子单元,用于将求并集所得结果作为所述数据检索请求所对应的检索结果。
[0092]具体的,所述辅助索引库构建模块210获得作为检索对象的辅助数据的方式包括:
[0093]基于网络爬虫定时上传数据的方式,获得作为检索对象的辅助数据;
[0094]或者,
[0095]基于定时从网络爬虫处请求数据的方式,获得作为检索对象的辅助数据。
[0096]具体的,所述辅助索引库构建模块210获得作为检索对象的辅助数据的方式包括:
[0097]基于人工导入数据方式,获得作为检索对象的辅助数据。
[0098]具体的,所述辅助索引库与所述基础索引库的构建方式可以为:倒排表方式。
[0099]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0100]本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0101]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种基于索引库的数据检索方法,其特征在于,应用于数据检索系统,所述数据检索系统预先构建作为检索对象的基础数据所对应的基础索引库;所述方法包括:当获得作为检索对象的辅助数据时,构建所述辅助数据所对应的辅助索引库; 所述方法还包括: 当获得数据检索请求时,确定当前所存在的至少一个目标索引库,其中,所述至少一个目标索引库包括基础索引库一类索引库,或者,所述基础索引库和所述辅助索引库两类索引库; 基于所确定出的当前所存在的至少一个目标索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果。2.根据权利要求1所述的方法,其特征在于,所述辅助索引库与所述基础索引库的构建方式相同。3.根据权利要求1所述的方法,其特征在于,所述基于所确定出的当前所存在的至少一个目标索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果,包括: 从至少一个目标索引库中,分别确定是否存在与所述数据检索请求所携带检索词相匹配的索引信息,如果存在,从该目标索引库所对应的检索对象中,获得该索引信息所对应的初级检索结果; 基于所获得的初级检索结果,确定所述数据检索请求所对应的检索结果。4.根据权利要求3所述的方法,其特征在于,所述基于所获得的初级检索结果,确定所述数据检索请求所对应的检索结果,包括: 对所获得的初级检索结果求并集; 将求并集所得结果作为所述数据检索请求所对应的检索结果。5.根据权利要求1所述的方法,其特征在于,获得作为检索对象的辅助数据的方式包括: 基于网络爬虫定时上传数据的方式,获得作为检索对象的辅助数据; 或者, 基于定时从网络爬虫处请求数据的方式,获得作为检索对象的辅助数据。6.根据权利要求1所述的方法,其特征在于,获得作为检索对象的辅助数据的方式包括: 基于人工导入数据方式,获得作为检索对象的辅助数据。7.根据权利要求2所述的方法,其特征在于,所述辅助索引库与所述基础索引库的构建方式为:倒排表方式。8.—种基于索引库的数据检索系统,其特征在于,所述数据检索系统预先构建作为检索对象的基础数据所对应的基础索引库;所述系统包括: 辅助索引库构建模块,用于当获得作为检索对象的辅助数据时,构建所述辅助数据所对应的辅助索引库; 所述系统还包括: 目标索引库确定模块,用于当获得数据检索请求时,确定当前所存在的至少一个目标索引库,其中,所述至少一个目标索引库包括基础索引库一类索引库,或者,所述基础索引库和所述辅助索引库两类索引库; 检索结果确定模块,用于基于所确定出的当前所存在的至少一个目标索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果。9.根据权利要求8所述的系统,其特征在于,所述辅助索引库与所述基础索引库的构建方式相同。10.根据权利要求8所述的系统,其特征在于,所述检索结果确定模块,包括: 初级索引结果获得单元,用于从至少一个目标索引库中,分别确定是否存在与所述数据检索请求所携带检索词相匹配的索引信息,如果存在,从该目标索引库所对应的检索对象中,获得该索引信息所对应的初级检索结果; 检索结果确定单元,用于基于所获得的初级检索结果,确定所述数据检索请求所对应的检索结果。
【专利摘要】本发明实施例提供了一种基于索引库的数据检索方法及系统。该方法应用于数据检索系统,该数据检索系统预先构建作为检索对象的基础数据所对应的基础索引库;该方法包括:当获得作为检索对象的辅助数据时,构建该辅助数据所对应的辅助索引库;该方法还包括:当获得数据检索请求时,确定当前所存在的至少一个目标索引库,该至少一个目标索引库包括基础索引库一类索引库,或者,该基础索引库和该辅助索引库两类索引库;基于所确定出的当前所存在的至少一个目标索引库以及所对应的检索对象,确定该数据检索请求所对应的检索结果。通过本方案可以降低更新索引库的工作量,且避免数据检索请求的响应受到影响。
【IPC分类】G06F17/30
【公开号】CN105488165
【申请号】CN201510857490
【发明人】虞航仲
【申请人】北京金山安全软件有限公司
【公开日】2016年4月13日
【申请日】2015年11月30日