全文检索方法和全文检索装置[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201710421974.0
(22)申请日 2017.06.07
(71)申请人 北大方正集团有限公司
地址 100871 北京市海淀区成府路298号方
正大厦9层
申请人 北京北大方正电子有限公司
(72)发明人 师光强 张丹 于晓明 王卿 
(74)专利代理机构 北京友联知识产权代理事务
所(普通合伙) 11343
代理人 尚志峰 汪海屏
(51)Int.Cl.
G06F  17/30(2006.01)
(54)发明名称
全文检索方法和全文检索装置
(57)摘要
本发明提供了一种全文检索方法和全文检
索装置,其中,全文检索方法包括:在将存储域的
数据导入至各个内存的内存数据库时,生成每个
内存数据库对应的一个索引库;将每个内存数据
库中导入数据的存储域写入对应的索引库,其
中,索引库中存储有数据的索引。通过本发明技
术方案,在全文检索时,缓解了系统的内存压力,
节省了系统资源,提高了索引更新速度,降低了
程序设计的复杂度,
增强了系统的可扩展性。权利要求书2页  说明书8页  附图4页CN 109002444 A 2018.12.14
C N  109002444
A
1.一种全文检索方法,其特征在于,包括:
在将存储域的数据导入至各个内存的内存数据库时,生成每个内存数据库对应的一个索引库;
将每个所述内存数据库中导入数据的存储域写入对应的索引库,
其中,所述索引库中存储有所述数据的索引。
2.根据权利要求1所述的全文检索方法,其特征在于,在将存储域的数据导入至各个内存的内存数据库时,
生成每个内存数据库对应的一个索引库,具体包括:在将所述存储域的数据导入至所述内存数据库时,对已导入数据执行上载操作,以获取对应的文档文件;
对所述文档文件创建索引,并解析所述文档文件的标识信息;
判断所述文档文件的标识信息是否与所述索引库中的任一预存标识信息匹配;
在判定所述文档文件的标识信息不与所述索引库中的任一预存标识信息匹配时,将所述文档文件的标识信息写入对应的索引库。
3.根据权利要求2所述的全文检索方法,其特征在于,还包括:
在将所述存储域的数据导入至所述内存数据库时,若检测到所述索引的数量大于预设数量,则创建导入任务进程以批量导入所述存储域的数据。
4.根据权利要求2或3所述的全文检索方法,其特征在于,还包括:
在检测到任一所述索引被删除时,创建删除任务进程,以将被删除索引对应的已导入数据删除。
5.根据权利要求2或3所述的全文检索方法,其特征在于,还包括:
在根据所述标识信息确定所述存储域的数据为初次导入时,不对所述已导入数据的执行所述上载操作。
6.一种全文检索装置,其特征在于,包括:
生成单元,用于在将存储域的数据导入至各个内存的内存数据库时,生成每个内存数据库对应的一个索引库;
写入单元,用于将每个所述内存数据库中导入数据的存储域写入对应的索引库,
其中,所述索引库中存储有所述数据的索引。
7.根据权利要求6所述的全文检索装置,其特征在于,所述生成单元还包括:
上载子单元,用于在将所述存储域的数据导入至所述内存数据库时,对已导入数据执行上载操作,以获取对应的文档文件;
创建子单元,用于对所述文档文件创建索引,并解析所述文档文件的标识信息;
判断子单元,用于判断所述文档文件的标识信息是否与所述索引库中的任一预存标识信息匹配;
所述写入单元还用于:在判定所述文档文件的标识信息不与所述索引库中的任一预存标识信息匹配时,
将所述文档文件的标识信息写入对应的索引库。
8.根据权利要求7所述的全文检索装置,其特征在于,
所述创建子单元还用于:在将所述存储域的数据导入至所述内存数据库时,若检测到所述索引的数量大于预设数量,则创建导入任务进程以批量导入所述存储域的数据。
9.根据权利要求7或8所述的全文检索装置,其特征在于,
所述创建子单元还用于:在检测到任一所述索引被删除时,创建删除任务进程,以将被删除索引对应的已导入数据删除。
10.根据权利要求7或8所述的全文检索装置,其特征在于,还包括:
所述上载子单元还用于:在根据所述标识信息确定所述存储域的数据为初次导入时,不对所述已导入数据的执行所述上载操作。
全文检索方法和全文检索装置
技术领域
[0001]本发明涉及全文检索技术领域,具体而言,涉及一种全文检索方法和一种全文检索装置。
背景技术
[0002]相关技术中,信息数据中海量的非机构化数据进行处理时,需要使用全文检索技术,该技术首先对非结构化数据进行处理,使其变得有一定结构并对其保存,搜索过程类似字典查字过程,针对关键词进行查。全文检索支持的常用功能有单库检索、多库检索、统计检索、排序检索、消重检索、精确检索等。全文检索系统的按域统计和按域排序功能,依赖文档对应域的域值信息,为了保证速度,避免频繁的读取磁盘文件,全文检索系统通常将过程中使用到的数据预加载至系统内存中,若要对多个域支持按域统计或排序,需要将每一个域的数据均预加载至全文检索系统内存中,上述技术方案存在以下弊端:
[0003](1)随着支持的域的个数的增加,全文检索的内存消耗不断上涨,增加系统压力。[0004](2)对于有更新需求的域,由于全文检索基于倒排索引的检索结构,需标记旧数据并删除,然后为待更新数据新建索引,进而导致更新速度慢;每一次更新往往只涉及数据当中的有限部分,并不需要重建索引,系统资源浪费严重;索引更新过程需要复杂的线程同步策略,使得程序设计复杂化。
[0005](3)需要增加或删除对特定域的按域统计或排序支持时,必须删除所有索引重建,浪费系统资源,系统可扩展性差。
发明内容
[0006]本发明正是基于上述技术问题至少之一,提出了一种新的全文检索技术方案,在将存储域的数据导入至各个内存的内存数据库时,通过生成每个内存数据库对应的一个索引库,同时将存储域写入对应的索引库,在全文检索过程中,缓解了系统的内存压力,节省了系统资源,提高了索引更新速度,降低了程序设计的复杂度,增强了系统的可扩展性。[0007]有鉴于此,本发明提出了一种全文检索方法,包括:在将存储域的数据导入至各个内存的内存数据库时,每个内存数据库对应的一个索引库;将每个内存数据库中导入数据的存储域写入对应的索引库,其中,索引库中存储有数据的索引。
[0008]在该技术方案中,在将存储域的数据导入至各个内存的内存数据库时,通过生成每个内存数据库对应的一个索引库,同时将存储域写入对应的索引库,在全文检索过程中:当需要增加或删除特定存储域的数据时,仅在内存数据库中进行操作,不再需要反复的索引重建,增强了全文检索系统的可扩展性;当存储域的数据需要更新时,节省了全文检索系统的系统资源且降低了程序设计的复杂程度;当执行按域统计和排序检索时,通过调用内存数据库接口获取指定文档特定存储域的数据,实现全文检索系统的按域统计和排序功能。
[0009]其中,索引库中存储有数据的索引,并且索引与存储域的数据具有一一对应关系,
存储域的数据更新的实现一般由删除和增加操作联合完成,存储域的数据导入过程中,暂停执行涉及到
使用内存数据库中存储域的数据的检索请求。
[0010]在上述技术方案中,优选地,在将存储域的数据导入至内存数据库时,对已导入数据执行上载操作,以获取对应的文档文件;对文档文件创建索引,并解析文档文件的标识信息;判断文档文件的标识信息是否与索引库中的任一预存标识信息匹配;在判定文档文件的标识信息不与索引库中的任一预存标识信息匹配时,将文档文件的标识信息写入对应的索引库。
[0011]在该技术方案中,在将存储域的数据导入至内存数据库时,对已导入数据执行上载操作,以获取存储域的数据对应的文档文件,并对文档文件创建索引,同时解析文档文件的包含有导入记录信息的标识信息,为避免在索引库重复写入,需要对文档文件的标识信息与索引库中的任一预存标识信息进行匹配,在判定文档文件的标识信息不与索引库中的任一预存标识信息匹配时,再将文档文件的标识信息写入对应的索引库,提高了全文索引的准确性。
[0012]在上述任一项技术方案中,优选地,还包括:在将存储域的数据导入至内存数据库时,若检测到索引的数量大于预设数量,则创建导入任务进程以批量导入存储域的数据。[0013]在该技术方案中,在将存储域的数据导入至内存数据库时,通过检测索引的数量与预设数量匹配,在判定索引的数量大于预设数量时,需要导入和新写入索引对应的存储域的数据,创建导入任务进程,调用内存数据库的接口,以批量导入存储域的数据,实现了存储域的数据的批量增加,不需要反复的重建索引,节省了全文检索系统的系统资源且降低了程序设计的复杂程度。
[0014]在上述任一项技术方案中,优选地,还包括:在检测到任一索引被删除时,创建删除任务进程,以将被删除索引对应的已导入数据删除。
[0015]在该技术方案中,通过遍历索引库中的索引,当检测到任一索引被删除时,创建删除任务进程,调用内存数据库的接口,以将被删除索引对应的已导入数据删除,实现了同步删除存储域的数据,且仅在内存数据库中进行操作,也不再需要反复的索引重建,增强了全文检索系统的可扩展性。
[0016]在上述任一项技术方案中,优选地,还包括:在根据标识信息确定存储域的数据为初次导入时,不对已导入数据的执行上载操作。
[0017]在该技术方案中,考虑到在全文检索服务器启动时,需要将存储域的数据导入内存数据库中,该过程需要一定时间且会创建大量任务包在任务队列中,为减轻系统压力,通过对包含有导入记录信息的标识信息进行检测,确定存储域的数据为初次导入时系统不同时上载数据。
[0018]根据本发明第二方面,还提出了一种全文检索装置,包括:生成单元,用于在将存储域的数据导入至各个内存的内存数据库时,生成每个内存数据库对应的一个索引库;写入单元,用于将每个内存数据库中导入数据的存储域写入对应的索引库,其中,索引库中存储有数据的索引。
[0019]在该技术方案中,在将存储域的数据导入至各个内存的内存数据库时,通过生成每个内存数据库
对应的一个索引库,同时将存储域写入对应的索引库,在全文检索过程中:当需要增加或删除特定存储域的数据时,仅在内存数据库中进行操作,不再需要反复的索

本文发布于:2024-09-20 14:59:05,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/785277.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:全文检索   数据   内存
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议