本发明专利技术公开了一种索引文件合并方法及装置,循环执行如下步骤,直到对待合并的多个索引文件进行合并处理完成:依次针对该多个索引文件中的每个索引文件,当该索引文件中存在未获取过的索引结构体,且内存中未缓存有该索引文件中的索引结构体时,从该索引文件的未获取过的索引结构体中按照索引项的指定顺序获取预设数量的索引结构体,得到若干个索引结构体;并将得到的该若干个索引结构体缓存到内存中;并针对内存中当前缓存的所有索引结构体,进行索引结构体的合并处理,得到合并后的索引结构体;以及将合并后的索引结构体保存到合并后索引文件中。采用本发明专利技术实施例提供的方案,降低了内存资源消耗,且提高了合并处理的效率。
【技术实现步骤摘要】
本专利技术涉及索引创建
中的索引文件合并
,尤其涉及一种索引文件合并方法及装置。
技术介绍
全文检索(Full text search)是一种将文件中所有文本与检索项匹配的文字资料检索方法。全文检索的核心是解析文本数据建立倒排索引,基于检索条件查询索引库中的索引数据,得到与检索条件匹配的索引数据,从而快速获取检索结果的技术。如何保证索引查询的实时性和高效率是全文检索的重点。现有技术中基于索引库中的索引数据进行检索查询的过程如下:检索服务器接收用户终端发送的检索请求,从检索请求中获取检索条件,然后在索引库中的索引数据中进行索引查询,查询到与该检索条件匹配的索引数据,将与该检索条件匹配的索引数据作为检索结果,或者,再基于得到的与该检索条件匹配的索引数据,从数据库中查询到与该索引数据匹配的检索结果。其中,索引数据在索引库中是以索引文件的形式存储的。在实际应用中,由于索引建立的时间和所基于的文本数据不同,可能会生成多个索引文件用于检索处理时的索引查询,且所生成的多个索引文件中可能存在相同的索引项。当在基于这多个索引文件进行索引查询时,需要分别查询每个索引文件中的索引数据,从而导致对于不同索引文件中的相同索引项要查询多次,进而降低了索引查询的效率。为了解决上述问题,通常需要将多个索引文件进行合并,得到一个合并后索引文件,以便基于合并后索引文件进行索引查询时提高查询效率。目前,在对索引文件进行合并的过程中,需要将待合并的多个索引文件缓存到内存中,然后通过对内存中缓存的多个索引文件进行合并处理,且在合并处理的过程中,是通过索引文件的两两合并实现多个索引文件的合并,而无法实现一次对多个索引文件的合并处理。因此,现有技术中在对索引文件合并时,存在内存资源消耗较大,且合并处理的效率较低的问题。
技术实现思路
本专利技术实施例提供一种索引文件合并方法及装置,用以解决现有技术中存在的在对索引文件合并时内存资源消耗较大,且合并处理的效率较低的问题。本专利技术实施例提供一种索引文件合并方法,循环执行如下步骤,直到对待合并的多个索引文件进行合并处理完成:依次针对所述多个索引文件中的每个索引文件,当该索引文件中存在未获取过的索引结构体,且内存中未缓存有该索引文件中的索引结构体时,从该索引文件的未获取过的索引结构体中按照索引项的指定顺序获取预设数量的索引结构体,得到若干个索引结构体;将得到的所述若干个索引结构体缓存到内存中;针对内存中当前缓存的所有索引结构体,进行索引结构体的合并处理,得到合并后的索引结构体;将所述合并后的索引结构体保存到合并后索引文件中。本专利技术实施例还提供一种索引文件合并装置,包括:获取单元,用于依次针对所述多个索引文件中的每个索引文件,当该索引文件中存在未获取过的索引结构体,且内存中未缓存有该索引文件中的索引结构体时,从该索引文件的未获取过的索引结构体中按照索引项的指定顺序获取预设数量的索引结构体,得到若干个索引结构体;缓存单元,用于将得到的所述若干个索引结构体缓存到内存中;合并单元,用于针对内存中当前缓存的所有索引结构体,进行索引结构体的合并处理,得到合并后的索引结构体;保存单元,用于将所述合并后的索引结构体保存到合并后索引文件中。本专利技术有益效果包括:本专利技术实施例提供的方法中,在对索引文件进行合并时,循环执行且直到对待合并的多个索引文件进行合并处理完成为止的步骤包括:依次针对待合并的该多个索引文件中的每个索引文件,当该索引文件中存在未获取的索引结构体,且内存中未缓存有该索引文件中的索引结构体时,从该索引文件的未获取过的索引结构体中按照索引项的指定顺序获取预设数量的索引结构体,得到若干个索引结构体,将得到的该若干个索引结构体缓存到内存中,并针对内存中当前缓存的所有索引结构体,进行索引结构体的合并处理,得到合并后的索引结构体,并保留未合并的索引结构体,以及将合并后的索引结构体保存到合并后索引文件中。在该方案中,内存中缓存的索引结构体的数量,最多为该多个索引文件的数量与该预设数量的乘积,相比现有技术中将该多个索引文件均缓存到内存中,减少了内存资源的消耗,且采用该方案,可以一次实现针对该多个索引文件的合并,提高了索引文件合并处理的效率。本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1为本专利技术实施例提供的索引文件合并方法的流程图;图2为本专利技术实施例1提供的索引文件合并方法的流程图;图3为本专利技术实施例2提供的索引文件合并装置的结构示意图。具体实施例方式为了给出在对索引文件合并时降低内存资源消耗,且提高合并处理的效率的实现方案,本专利技术实施例提供了一种索引文件合并方法及装置,以下结合说明书附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本专利技术实施例提供一种索引文件合并方法,如图1所示,循环执行如下步骤,直到待合并的多个索引文件进行合并处理完成:步骤101、依次针对该多个索引文件中的每个索引文件,当该索引文件中存在未获取过的索引结构体,且内存中未缓存有该索引文件中的索引结构体时,从该索引文件的未获取过的索引结构体中按照索引项的指定顺序获取预设数量的索引结构体,得到若干个索引结构体。其中,该预设数量可以是1,即本步骤中具体可以为从该索引文件的未获取过的索引结构体中按照索引项的指定顺序获取一个索引结构体,从而使得内存中同时缓存的索引结构体的数量最多为该多个索引文件的数量。步骤102、将得到的该若干个索引结构体缓存到内存中。步骤103、针对内存中当前缓存的所有索引结构体,进行索引结构体的合并处理,得到合并后的索引结构体。本步骤中,进行索引结构体的合并处理,可以为当内存中当前缓存的所有索引结构体中存在满足合并条件的索引结构体时,将内存中当前缓存的所有索引结构体中满足合并条件的索引结构体进行合并处理,得到合并后的索引结构体;当内存中当前缓存的所有索引结构体中不存在满足合并条件的索引结构体时,可以将内存中当前缓存的所有索引结构体中,按照索引项的指定顺序的第一个索引结构体确定为合并后的索引结构体。其中,当内存中当前缓存的所有索引结构体中存在满足合并条件的索引结构体时,具体可以为将内存中当前缓存的所有结构体中索引项相同的索引结构体进行合并处理。步骤104、将合并后的索引结构体保存到合并后索引文件中。进一步的,在将合并后的索引结构体保存到合并后索引文件中之后,还可以删除内存中缓存的该合并后的索引结构体,以便减少对内存的占用。下面结合附图,用具体实施例对本专利技术提供的方法及装置进行详细描述。实施例1:图2所示为本专利技术实施例提供的索引文件合并方法的流程图,具体包括如下处理步骤:步骤201、依次针对待合并的多个索引文件中的每个索引文件,当该索引文件中存在未获取过的索引结构体,且内存中未缓存有该索引文件中的索引结构体时,从该索引文本文档来自技高网...
【技术保护点】
一种索引文件合并方法,其特征在于,循环执行如下步骤,直到对待合并的多个索引文件进行合并处理完成:依次针对所述多个索引文件中的每个索引文件,当该索引文件中存在未获取过的索引结构体,且内存中未缓存有该索引文件中的索引结构体时,从该索引文件的未获取过的索引结构体中按照索引项的指定顺序获取预设数量的索引结构体,得到若干个索引结构体;将得到的所述若干个索引结构体缓存到内存中;针对内存中当前缓存的所有索引结构体,进行索引结构体的合并处理,得到合并后的索引结构体;将所述合并后的索引结构体保存到合并后索引文件中。
【技术特征摘要】
【专利技术属性】
技术研发人员:叶森,
申请(专利权)人:新浪网技术中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。