一种对信息建增量索引的方法技术

技术编号:2850997 阅读:287 留言:0更新日期:2012-04-11 18:40
一种对信息建增量索引的方法,包括以下步骤:A、获取所有要建索引的信息,形成任务列表;并将任务列表与原索引记录的信息进行比较,获取变动信息,形成变动信息列表;B、对所述变动信息列表建新的索引信息,并将所述新的索引信息更新到索引库中。本发明专利技术方法由于只对变动的信息建索引,因此减少了建索引的时间,缩短了建索引的周期,实现了快速建索引。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及。
技术介绍
随着互联网和互联网搜索引擎的发展,人们对搜索的实时性的要求也越来越高。而目前的互联网搜索引擎是每隔一段时间(一般是20多天)通过程序(例如spider程序)去获取互联网上的各种信息,再针对这些信息来建索引;而在上次建索引之后更新的文件内容不会被搜索到,也就是说一般的搜索引擎不支持增量建索引的方式,即使是一般的本地文件搜索引擎也是隔一段时间完全重建索引;因此,现有技术存在两个问题1、如果信息量非常大的话,每次都需要完全重建索引,导致两次重建索引的间隔时间很长,这样满足不了即时搜索(即尽可能快的更新索引)的需求;2、很多网页的信息可能很久都没有更新过,没有必要每次都对它重建索引。
技术实现思路
本专利技术所要解决的技术问题是提供一种通过对变动信息建索引,来实现快速建索引的方法。本专利技术为解决上述技术问题所采用的技术方案为,包括以下步骤A、获取所有要建索引的信息,形成任务列表;并将所述任务列表与原索引记录的信息进行比较,获取变动信息,形成变动信息列表;B、对所述变动信息列表建新的索引信息,并将所述新的索引信息更新到索引库中。所述的方法,其方法一中所述步骤A包括如下步骤A1、获取所有要建索引的信息的路径和更新时间,形成任务列表;A2、遍历所述任务列表,获取每个信息的路径与所述原索引比较,找出所述任务列表中存在而所述原索引中不存在的路径,将其作为新增信息记录在所述变动信息列表中;A3、将原索引与所述任务列表中共同存在的路径所对应的更新时间进行比较,找出二者更新时间不同的信息,将其作为修改信息记录在所述变动信息列表中;A4、遍历所述原索引每个节点信息对应的路径,找出所述原索引中存在而所述任务列表中不存在的路径,并删除原索引中对应该路径的节点信息。所述的方法,其方法二中所述步骤A包括如下步骤A1、获取所有要建索引的信息的路径,形成任务列表;A2、获取上一次建索引的时间;保存当前时间为本次建索引时间;A3、遍历所述任务列表,获得每个路径对应的更新时间,并将所述更新时间迟于上一次建索引时间的路径作为修改信息,记录在所述变动信息列表中;A4、遍历所述原索引每个节点对应的路径,若该路径存在于所述任务列表中,则从所述任务列表中删除该路径;若该路径不存在于所述任务列表中,则删除原索引中该路径对应的节点信息;A5、将所述任务列表中剩余的信息记录加入到所述变动信息列表中。所述的方法,其方法二中所述步骤A还可以按如下步骤A1、获取上一次建索引的时间;保存当前时间为本次建索引时间;A2、获取所有要建索引的信息的路径,形成任务列表;A3、遍历所述任务列表,获得每个路径对应的更新时间,并将所述更新时间迟于上一次建索引时间的路径作为修改信息,记录在所述变动信息列表中;A4、遍历所述原索引每个节点对应的路径,若该路径存在于所述任务列表中,则从所述任务列表中删除该路径;若该路径不存在于所述任务列表中,则删除原索引中该路径对应的节点信息;A5、将所述任务列表中剩余的信息记录加入到所述变动信息列表中。上述的方法,其中步骤B包括如下步骤B1、遍历所述变动信息列表,取其中每条信息的路径;B2、获取所述每条信息路径对应的文件的新的索引信息;B3、将所述新的索引信息更新到索引库中。所述的方法,其中所述任务列表的形式包括采用数据结构或保存在数据库中的记录集。本专利技术的有益效果为采用本技术方案建索引,由于只对变动的信息(增量)建索引,不需要每次对所有信息都完全重建索引,因此大大地减少了建索引的时间,缩短了建索引的周期,实现了快速建索引的目的,满足了用户尽可能快的更新索引、即时搜索的需求。本专利技术的进一步效果,由于方法二在获取修改信息列表时不需要读取索引文件,步骤也较方法一简单很多;因此,方法二比方法一建索引的时间更短,建索引的速度更快,周期更短。附图说明图1为本专利技术方法的示意2为本专利技术方法一的流程3为本专利技术方法一获取任务列表A的流程4为本专利技术方法一获取变动信息列表B的流程5为本专利技术方法二的流程图具体实施方式下面根据附图和实施例对本专利技术作进一步详细说明本专利技术是,该方法是通过只获取修改过的信息,使搜索引擎只重建修改过的信息的索引(即增量索引)。该方法的基本过程如图1所示,包括以下步骤A、获取所有要建索引的信息,形成任务列表;并将所述任务列表与原索引记录的信息进行比较,获取变动信息,形成变动信息列表;B、对所述变动信息列表建新的索引信息,并将所述新的索引信息更新到索引库中。该方法包括以下两种具体方案。其中,方法一包括以下步骤A1、获取所有要建索引的信息的路径和更新时间,形成任务列表;所述路径指的是信息对应的路径,比如一个html页面的url,或者一个文件的路径名,本专利中都称为路径;A2、遍历所述任务列表,获取每个信息的路径与所述原索引比较,找出所述任务列表中存在而所述原索引中不存在的路径,将其作为新增信息记录在所述变动信息列表中;A3、将原索引与所述任务列表中共同存在的路径所对应的更新时间进行比较,找出二者更新时间不同的信息,将其作为修改信息记录在所述变动信息列表中; A4、遍历所述原索引每个节点信息对应的路径,找出所述原索引中存在而所述任务列表中不存在的路径,并删除原索引中对应该路径的节点信息;B1、遍历所述变动信息列表,取其中每条信息的路径;B2、获取路径对应的文件的新的索引信息;B3、将所述新的索引信息更新到索引库中。下面根据图2、图3、图4,详细叙述方法一流程的每一个操作步骤获取信息的路径和更新时间的流程为A11、确定信息扫描范围,比如某个网址,某个ip段的网页,某个文件夹下的文件等;A12、判断该范围是否有下一条信息,若有的话,获取该信息的路径和更新时间加入到任务列表A中;否则结束。比如,网页中是否存在下一个链接,文件夹中是否存在下一个文件;当还没有选择信息的时候,下一个的意思是指第一个信息,当选择了一个信息之后,下一个就是排在它后面的信息。获取变动信息的流程A21、判断任务列表A中是否存在下一个路径,存在转步骤A22,否则转步骤A41;A22、取任务列表A中保存的下一个路径F,以及更新时间D;A23、判断索引中是否已经存在与路径F对应的索引信息,如果存在,转步骤A31;否则转A32,因为不存在对应的索引信息,表示该信息是新增的;A31、判断更新时间D和索引中保存的该路径对应的修改时间R是否相同,如果相同,回到步骤A21,否则,虽然存在该路径,但时间D和时间R不同,表示该信息是修改过的,则转步骤A32;A32、在变动信息列表B中记录该路径F; A41、判断索引是否存在下一个节点,存在转步骤A42,否则结束;A42、取该索引节点信息保存的路径G;A43、判断该路径G是否在任务列表A中,如果存在,则转步骤A41,否则,索引中该节点的信息不存在于任务列表A中,表示该信息已被删除,因此删除索引中的该节点。结束上述获取变动信息的流程。对B列表中的信息重新建索引的流程为B11、判断变动信息列表B中是否有下一条记录,有则转步骤B12,否则结束;B12、取变动信息列表B中的下一条记录对应的路径P,这里的路径P可以是本地文件路径,也可以是网址(url);B2、获取P对应的文件的索引信息,包括全文、标题、更新时间等字段信本文档来自技高网...

【技术保护点】
一种对信息建增量索引的方法,包括以下步骤:    A、获取所有要建索引的信息,形成任务列表;并将所述任务列表与原索引记录的信息进行比较,获取变动信息,形成变动信息列表;    B、对所述变动信息列表建新的索引信息,并将所述新的索引信息更新到索引库中。

【技术特征摘要】
1.一种对信息建增量索引的方法,包括以下步骤A、获取所有要建索引的信息,形成任务列表;并将所述任务列表与原索引记录的信息进行比较,获取变动信息,形成变动信息列表;B、对所述变动信息列表建新的索引信息,并将所述新的索引信息更新到索引库中。2.根据权利要求1所述的方法,其特征在于所述的步骤A包括如下步骤A1、获取所有要建索引的信息的路径和更新时间,形成任务列表;A2、遍历所述任务列表,获取每个信息的路径与所述原索引比较,找出所述任务列表中存在而所述原索引中不存在的路径,将其作为新增信息记录在所述变动信息列表中;A3、将原索引与所述任务列表中共同存在的路径所对应的更新时间进行比较,找出二者更新时间不同的信息,将其作为修改信息记录在所述变动信息列表中;A4、遍历所述原索引每个节点信息对应的路径,找出所述原索引中存在而所述任务列表中不存在的路径,并删除原索引中对应该路径的节点信息。3.根据权利要求1所述的方法,其特征在于所述的步骤A包括如下步骤A1、获取所有要建索引的信息的路径,形成任务列表;A2、获取上一次建索引的时间;A3、遍历所述任务列表,获得每个路径对应的更新时间,并将所述更新时间迟于上一次建索引时间的路径作为修改信息,记录在所述变动信息列表中;A4、遍历所述原索引每个节点对应的路径,若该路径存在于所述任务列表中,则从所述任务列表...

【专利技术属性】
技术研发人员:朱鹏喜
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1