一种更新索引文件的方法及系统的制作方法

文档序号:9646594阅读:212来源:国知局
一种更新索引文件的方法及系统的制作方法
【技术领域】
[0001]本发明涉及索引技术领域,特别是涉及一种更新索引文件的方法及系统。
【背景技术】
[0002]目前,全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。
[0003]全文检索系统是按照全文检索理论建立起来的用于提供全文检索服务的软件系统。一般来说,全文检索需要具备建立索引和提供查询的基本功能,此外现代的全文检索系统还需要具有方便的用户接口、二次应用开发接口等等。功能上,全文检索系统核心具有建立索引、处理查询返回结果集、增加索引、优化索引结构等等功能。通常地,全文检索主要分为按字检索和按词检索两种。
[0004]在当前的企业全文检索应用领域,基于Lucene的全文检索引擎非常适合处理高并发、低延迟的查询需求。而分词的好坏关系到查询的准确程度和生成的索引的大小,在当前使用的中文分词技术多数是基于中文词库进行分词的,因此词库的准确性对分词的效果起到关键作用。随着业务的发展,词库需要增量更新维护,而这样会引发索引文件中历史数据索引的分词方式与当前利用更新后的词库进行分词的结构不一致,影响检索的准确性。因此,在现有技术中,当分词技术是基于词库的分词,在词库更新发生变化时,对索引文件中的全部历史数据进行重新索引更新,然而,这样往往需要耗费较长的时间并且还会影响到全文检索系统的正常使用。

【发明内容】

[0005]有鉴于此,本发明提供了一种更新索引文件的方法及系统,以实现既能快速将新词库更新至索引文件又不会影响到全文检索系统的正常使用的目的。
[0006]为解决上述技术问题,本发明提供一种更新索引文件的方法,包括:
[0007]获取新词库和索引文件中的历史数据;其中,所述历史数据包括多条索引数据;
[0008]判断每条所述索引数据是否受所述新词库的影响;
[0009]利用所述新词库,对受所述新词库影响的索引数据进行重新索引,并将重新索引后的索引数据更新至所述索引文件。
[0010]上述方法中,优选的,所述判断每条所述索引数据是否受所述新词库的影响,包括:
[0011]当所述新词库中存在所述索引数据中的词语时,判定所述索引数据受所述新词库的影响。
[0012]上述方法中,优选的,在所述将重新索引后的索引数据更新至所述索引文件之后,还包括:
[0013]存储更新后的索引文件。
[0014]本发明还提供了一种更新索引文件的系统,包括:
[0015]获取单元,用于获取新词库和索引文件中的历史数据;其中,所述历史数据包括多条索引数据;
[0016]判断单元,用于判断每条所述索引数据是否受所述新词库的影响;
[0017]更新单元,用于利用所述新词库,对受所述新词库影响的索引数据进行重新索引,并将重新索引后的索引数据更新至所述索引文件。
[0018]上述系统中,优选的,所述判断单元具体用于:
[0019]当所述新词库中存在所述索引数据中的词语时,判定所述索引数据受所述新词库的影响。
[0020]上述系统中,优选的,还包括:
[0021]存储单元,用于在所述将重新索引后的索引数据更新至所述索引文件之后,存储更新后的索引文件。
[0022]以上本发明提供的一种更新索引文件的方法及系统中,首先获取新词库和索引文件中的历史数据;其中,所述历史数据包括多条索引数据;然后判断每条所述索引数据是否受所述新词库的影响;最后利用所述新词库对受所述新词库影响的索引数据进行重新索弓丨,并将重新索引后的索引数据更新至所述索引文件。显然,本发明是对索引文件中受新词库影响的索引数据进行重新索引,并不是一味地对整个索引文件中的历史数据进行重新索弓丨,以此实现了既能快速将新词库更新至索引文件又不会影响到全文检索系统的正常使用的目的。
【附图说明】
[0023]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0024]图1为本发明实施例提供的一种更新索引文件的方法的流程图;
[0025]图2为本发明实施例提供的一种更新索引文件的系统的结构框图示意图。
【具体实施方式】
[0026]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027]本发明的核心是提供一种更新索引文件的方法及系统,以实现既能快速将新词库更新至索引文件又不会影响到全文检索系统的正常使用的目的。
[0028]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和【具体实施方式】对本发明作进一步的详细说明。
[0029]参考图1,图1示出了本发明实施例提供的一种更新索引文件的方法的流程图,该方法具体可以包括如下步骤:
[0030]步骤S100、获取新词库和索引文件中的历史数据;其中,历史数据包括多条索引数据;
[0031]步骤S101、判断每条索引数据是否受新词库的影响;当判定该条索引数据受新词库的影响时,进入步骤S102,否则,进入步骤S103.
[0032]具体地,当新词库中存在索引数据中的词语时,判定索引数据受新词库的影响。
[0033]步骤S102、利用新词库,对受新词库影响的索引数据进行重新索引,并将重新索引后的索引数据更新至索引文件。
[0034]进一步地,在将重新索引后的索引数据更新至索引文件之后,存储更新后的索引文件,以便后续对这个更新后的索引文件的使用。
[0035]步骤S103、忽略不受新词库影响的索引数据。
[0036]本发明对历史数据进行有选择的索引,判断发生变化的词库是否对历史数据有影响,如果该数据使用了新增的词库,则对该数据进行重新索引更新到索引文件中,如果没有影响,则忽略该条数据。这样就大大减少了需要重新索引的数据量,可以高效的完成历史数据的重新索引,同时不影响系统的正常使用。
[0037]以上本发明实施例提供的技术方案可以应用于基于Lucene架构的检索引擎。其中,Lucene是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。
[0038]基于上述本发明实施例提供的更新索引文件的方法,本发明实施例还提供了一种更新索引文件的系统,参考图2,该系统200可以包括如下内容:
[0039]获取单元201,用于获取新词库和索引文件中的历史数据;其中,历史数据包括多条索引数据;
[0040]判断单元202,用于判断每条索引数据是否受新词库的影响;
[0041]更新单元203,用于利用新词库,对受新词库影响的索引数据进行重新索引,并将重新索引后的索引数据更新至索引文件。
[0042]本发明中,上述判断单元202具体可以用于当新词库中存在索引数据中的词语时,判定索引数据受新词库的影响。
[0043]本发明中,上述系统200还可以包括存储单元,用于在将重新索引后的索引数据更新至索引文件之后,存储更新后的索引文件。
[0044]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0045]以上对本发明所提供的一种更新索引文件的方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
【主权项】
1.一种更新索引文件的方法,其特征在于,包括: 获取新词库和索引文件中的历史数据;其中,所述历史数据包括多条索引数据; 判断每条所述索引数据是否受所述新词库的影响; 利用所述新词库,对受所述新词库影响的索引数据进行重新索引,并将重新索引后的索弓I数据更新至所述索引文件。2.如权利要求1所述的方法,其特征在于,所述判断每条所述索引数据是否受所述新词库的影响,包括: 当所述新词库中存在所述索引数据中的词语时,判定所述索引数据受所述新词库的影响。3.如权利要求2所述的方法,其特征在于,在所述将重新索引后的索引数据更新至所述索引文件之后,还包括: 存储更新后的索引文件。4.一种更新索引文件的系统,其特征在于,包括: 获取单元,用于获取新词库和索引文件中的历史数据;其中,所述历史数据包括多条索引数据; 判断单元,用于判断每条所述索引数据是否受所述新词库的影响; 更新单元,用于利用所述新词库,对受所述新词库影响的索引数据进行重新索引,并将重新索引后的索引数据更新至所述索引文件。5.如权利要求4所述的系统,其特征在于,所述判断单元具体用于: 当所述新词库中存在所述索引数据中的词语时,判定所述索引数据受所述新词库的影响。6.如权利要求5所述的系统,其特征在于,还包括: 存储单元,用于在所述将重新索引后的索引数据更新至所述索引文件之后,存储更新后的索引文件。
【专利摘要】本发明公开了一种更新索引文件的方法及系统,该方法包括:获取新词库和索引文件中的历史数据;其中,所述历史数据包括多条索引数据;判断每条所述索引数据是否受所述新词库的影响;利用所述新词库,对受所述新词库影响的索引数据进行重新索引,并将重新索引后的索引数据更新至所述索引文件。本发明是对索引文件中受新词库影响的索引数据进行重新索引,并不是一味地对整个索引文件中的历史数据进行重新索引,以此实现了既能快速将新词库更新至索引文件又不会影响到全文检索系统的正常使用的目的。
【IPC分类】G06F17/30
【公开号】CN105404661
【申请号】CN201510745257
【发明人】金洪殿, 赵仁明, 亓开元
【申请人】浪潮(北京)电子信息产业有限公司
【公开日】2016年3月16日
【申请日】2015年11月5日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1