程序代码的搜索处理方法、装置、设备及存储介质制造方法及图纸

技术编号:22022292 阅读:43 留言:0更新日期:2019-09-04 01:17
本发明专利技术实施例公开了一种程序代码的搜索处理方法、装置、设备及存储介质。其中,该方法包括:获取与用户的代码搜索条件匹配的搜索结果数据,所述搜索结果数据中包括多个代码文件;在所述搜索结果数据中,对重复的代码文件进行筛除处理;将筛除处理后的所述搜索结果数据,反馈给所述用户。本发明专利技术实施例可以在代码搜索引擎的搜索结果中识别重复代码文件,可以从识别出的众多重复代码文件中,选择一个代码文件进行展现,不展示其他重复的代码文件,提升了代码搜索引擎的代码搜索结果质量,节省了用户使用代码搜索引擎的成本,提高了用户使用代码搜索引擎使用效率。

Search Processing Method, Device, Equipment and Storage Medium of Program Code

【技术实现步骤摘要】
程序代码的搜索处理方法、装置、设备及存储介质
本专利技术实施例涉及互联网技术,尤其涉及一种程序代码的搜索处理方法、装置、设备及存储介质。
技术介绍
随着互联网的兴起,通用搜索引擎为大家所熟知,能够提供各类的相关信息。而基于满足软件开发人员的需求,出现了代码搜索引擎。代码搜索引擎能够根据软件开发人员的代码搜索请求,提供相关代码文件供软件开发人员参考、复用或者直接使用。在软件开发过程中,代码搜索引擎可以一定程度上大大提高软件的开发质量和效率。专利技术人在实现本专利技术的过程中,发现网络中的代码,例如,企业内网中的代码以及开源社区中的代码,都会存在大量的重复代码。而且重复代码的存在形式也是多种多样的。例如:存放路径或者文件名称不同,但是内容相同,内容不完全相同但是大部分内容一致,或者代码中的局部内容发送了重叠等等。因为代码搜索引擎呈现的结果条目是有限的,重复代码的出现,降低了代码搜索结果质量,影响了用户体验。而且搜索重复代码会浪费计算资源,降低代码搜索引擎的性能。
技术实现思路
本专利技术实施例提供一种程序代码的搜索处理方法、装置、设备及存储介质,以实现优化现有的程序代码搜索方法,提高搜索结果质量和代码搜索引擎的性能。第一方面,本专利技术实施例提供了一种程序代码的搜索处理,包括:获取与用户的代码搜索条件匹配的搜索结果数据,搜索结果数据中包括多个代码文件;在搜索结果数据中,对重复的代码文件进行筛除处理;将筛除处理后的搜索结果数据,反馈给用户。第二方面,本专利技术实施例还提供了一种程序代码的搜索处理装置,包括:数据获取模块,用于获取与用户的代码搜索条件匹配的搜索结果数据,搜索结果数据中包括多个代码文件;文件筛除模块,用于在搜索结果数据中,对重复的代码文件进行筛除处理;数据反馈模块,用于将筛除处理后的搜索结果数据,反馈给用户。第三方面,本专利技术实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序所述处理器执行所述程序时实现如本专利技术实施例所述的程序代码的搜索处理方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本专利技术实施例所述的程序代码的搜索处理方法。本专利技术实施例的技术方案,通过获取与用户的代码搜索条件匹配的搜索结果数据,搜索结果数据中包括多个代码文件,然后在搜索结果数据中,对重复的代码文件进行筛除处理,并将筛除处理后的搜索结果数据,反馈给用户,解决了网络中存在的大量重复代码降低了代码搜索结果质量,影响用户体验,而且搜索重复代码浪费计算资源,降低代码搜索引擎性能的问题,可以在代码搜索引擎的搜索结果中识别重复代码文件,可以从识别出的众多重复代码文件中,选择一个代码文件进行展现,不展示其他重复的代码文件,提升了代码搜索引擎的代码搜索结果质量,节省了用户使用代码搜索引擎的成本,提高了用户使用代码搜索引擎使用效率。附图说明图1为本专利技术实施例一提供的一种程序代码的搜索处理方法的流程图;图2为本专利技术实施例二提供的一种程序代码的搜索处理方法的流程图;图3为本专利技术实施例三提供的一种程序代码的搜索处理方法的流程图;图4为本专利技术实施例四提供的一种程序代码的搜索处理方法的流程图;图5为本专利技术实施例五提供的一种程序代码的搜索处理装置的结构示意图;图6为本专利技术实施例六提供的一种计算机设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。实施例一图1为本专利技术实施例一提供的一种程序代码的搜索处理方法的流程图,本实施例可适用于对程序代码进行搜索处理的情况,该方法可以由本专利技术实施例提供的程序代码的搜索处理装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在程序代码的搜索处理设备中。程序代码的搜索处理设备包括但不限定于计算机等。如图1所示,本实施例的方法具体包括:步骤101、获取与用户的代码搜索条件匹配的搜索结果数据,搜索结果数据中包括多个代码文件。其中,用户使用终端设备通过网络连接访问代码搜索引擎,并输入代码搜索条件。根据用户输入的代码搜索条件,在根据至少一个代码库的代码文件所建立的索引库中进行搜索,获取与代码搜索条件匹配的搜索结果数据。搜索结果数据是与用户的代码搜索条件匹配的代码文件。搜索结果数据中可以包括多个代码文件。具体的,代码搜索条件中包含用户想要搜索的代码文件的相关信息。索引库中对应存储着代码文件以及与代码文件匹配的相关信息。在索引库中存储的与各个代码文件匹配的相关信息中进行搜索,查询与用户想要搜索的代码文件的相关信息一致的相关信息,并获取与用户想要搜索的代码文件的相关信息一致的相关信息所匹配的代码文件,作为与代码搜索条件匹配的搜索结果数据。在一个具体实施例中,代码搜索条件为搜索词。索引库中对应存储着代码文件以及与代码文件匹配的关键词。具体的,根据用户输入的搜索词,在索引库中存储的全部关键词中进行搜索,查询与搜索词一致的关键词。获取与搜索词一致的关键词所匹配的代码文件,作为与代码搜索条件匹配的搜索结果数据。步骤102、在搜索结果数据中,对重复的代码文件进行筛除处理。在一个具体实例中,在搜索结果数据中,对重复的代码文件进行筛除处理,可以包括:比较搜索结果数据中任意两个代码文件的文件信息摘要,如果存在文件信息摘要相同的至少两个重复代码文件,则在重复代码文件中选择目标代码文件;筛除重复代码文件中,除去目标代码文件之外的其他代码文件。其中,预先通过消息摘要算法第五版(Message-DigestAlgorithm5,MD5),计算每一个代码文件的MD5值,即文件信息摘要,并将代码文件以及代码文件的文件信息摘要对应存储于索引库中。MD5是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值,用于确保信息传输完整一致。MD5可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”。文件的文件信息摘要就像是文件的“数字指纹”。如果任何人对文件做了任何改动,文件的文件信息摘要也就是对应的“数字指纹”都会发生变化。如果两个文件的文件信息摘要是相同的,则这两个文件的文件内容完全重复。比较任意两个代码文件的文件信息摘要,如果两个代码文件的文件信息摘要是相同的,则可以确定这两个代码文件是两个重复代码文件。这两个代码文件的文件内容完全重复。如果存在文件信息摘要相同的至少两个重复代码文件,则在重复代码文件中选择一个代码文件作为目标代码文件,筛除重复代码文件中,除去目标代码文件之外的其他代码文件。由此,可以至少两个重复本文档来自技高网...

【技术保护点】
1.一种程序代码的搜索处理方法,其特征在于,包括:获取与用户的代码搜索条件匹配的搜索结果数据,所述搜索结果数据中包括多个代码文件;在所述搜索结果数据中,对重复的代码文件进行筛除处理;将筛除处理后的所述搜索结果数据,反馈给所述用户。

【技术特征摘要】
1.一种程序代码的搜索处理方法,其特征在于,包括:获取与用户的代码搜索条件匹配的搜索结果数据,所述搜索结果数据中包括多个代码文件;在所述搜索结果数据中,对重复的代码文件进行筛除处理;将筛除处理后的所述搜索结果数据,反馈给所述用户。2.根据权利要求1所述的方法,其特征在于,获取与用户的代码搜索条件匹配的搜索结果数据,所述搜索结果数据中包括多个代码文件,包括:获取用户通过代码搜索引擎输入的代码搜索条件;根据所述代码搜索条件,在根据至少一个代码库的代码文件所建立的索引库中进行搜索,获取与所述代码搜索条件匹配的搜索结果数据。3.根据权利要求1所述的方法,其特征在于,在所述搜索结果数据中,对重复的代码文件进行筛除处理,包括:比较所述搜索结果数据中任意两个代码文件的文件信息摘要,如果存在文件信息摘要相同的至少两个重复代码文件,则在所述重复代码文件中选择目标代码文件;筛除所述重复代码文件中,除去所述目标代码文件之外的其他代码文件。4.根据权利要求1所述的方法,其特征在于,在所述搜索结果数据中,对重复的代码文件进行筛除处理,包括:比较所述搜索结果数据中任意两个代码文件在至少一个信息维度上的相似度;如果存在满足相似度计算条件的至少两个重复代码文件,则在所述重复代码文件中选择目标代码文件;筛除所述重复代码文件中,除去所述目标代码文件之外的其他代码文件。5.根据权利要求4所述的方法,其特征在于,所述信息维度包括:代码文件存储路径、代码文件内容以及代码片段摘要中的一个或者多个。6.根据权利要求4所述的方法,其特征在于,在所述重复代码文件中选择目标代码文件,包括:获取用于存储各所述重复代码文件的目标代码库,并根据至少一项重要度因子对各所述目标代码库进行重要度排序;根据对所述目标代码库的重要度排序结果,在所述重复代码文件中选择所述目标代码文件。7.根据权利要求6所述的方法,其特征在于,所述重要度因子包括:代码库的被依赖次数、代码库的重要性标签以及代码库是否开放用户写权限...

【专利技术属性】
技术研发人员:刘志伟于澔白伟李涛
申请(专利权)人:百度时代网络技术北京有限公司
类型:发明
国别省市:北京,11

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

1