搜索方法和装置、计算机设备、程序产品以及存储介质制造方法及图纸

技术编号:18204315 阅读:35 留言:0更新日期:2018-06-13 06:21
本发明专利技术提出一种搜索方法和装置、计算机设备、程序产品以及存储介质,其中,该方法通过从当前节点所在服务器中,查询处于当前节点下游的属于检索路径上的第一节点,当服务器中存储有第一节点时,直接从本地获取,而不必从第一节点所在的服务器上获取,即跨服务器获取第一节点,大大降低了跨服务器访问带来的开销,同时缩短了检索花费的时间,提高了检索效率,解决了相关技术中,跨服务器获取检索路径上的节点,存在的开销大、检索效率低的问题。

【技术实现步骤摘要】
搜索方法和装置、计算机设备、程序产品以及存储介质
本专利技术涉及信息处理
,尤其涉及一种搜索方法和装置、计算机设备、程序产品以及存储介质。
技术介绍
目前,可基于实体与实体之间的关系进行检索,其中,实体以及实体之间的关系,可构成视图。当视图数据规模大到单个服务器无法承载时,相关技术中,通常是基于点切分或者边切分对视图进行分片,从而将视图中的所有节点(即实体)打散到各个分片,不同的分片存储到不同的服务器上,从而可以实现大规模视图的存储和检索。基于切分后的视图进行搜索时,可以寻找到当前节点的下一级节点所在的服务器,然后按序检索出到最后的节点。由于所有节点被打散到多个服务器上,因此,在检索时需要跨服务器获取节点,有时可能会跨越多台服务器检索,这样会增加跨服务器访问的开销,检索花费的时间长,检索效率低。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的第一个目的在于提出一种搜索方法,通过从当前节点所在服务器中,查询当前节点下游的属于检索路径上的节点,当服务器中存储有检索路径上的节点时,从本地直接获取,不必从节点所在的服务器获取,从而减少了跨服务器访问的开销,同时缩短了检索花费的时间,提高了检索效率。本专利技术的第二个目的在于提出一种搜索装置。本专利技术的第三个目的在于提出一种计算机设备。本专利技术的第四个目的在于提出一种计算机程序产品。本专利技术的第五个目的在于提出一种非临时性计算机可读存储介质。为达上述目的,本专利技术第一方面实施例提出了一种搜索方法,包括:接收检索语句;对所述检索语句进行分析,获取所述检索语句的检索路径;其中,所述检索路径上包括两个或者两个以上的节点和连接所述节点的边线;从所述检索路径上的第一个节点开始,确定正在遍历的当前节点所在的服务器;根据所述当前节点所发出的所述边线,从所述服务器中查询处于所述当前节点下游的属于所述检索路径上的第一节点,并按照所述第一节点所发出的所述边线继续遍历;判断所述服务器中遍历到的最后一个第一节点是否为所述检索路径中末端节点;如果非所述末端节点,则将所述当前节点更新为所述第一节点的下一级节点并按照所发出的所述边线继续遍历,直到遍历到所述末端节点作为检索结果。本专利技术实施例的搜索方法,通过从当前节点所在服务器中,查询处于当前节点下游的属于检索路径上的第一节点,当服务器中存储有第一节点时,直接从本地获取,而不必从第一节点所在的服务器上获取,即跨服务器获取第一节点,大大降低了跨服务器访问带来的开销,同时缩短了检索花费的时间,提高了检索效率,解决了相关技术中,跨服务器获取检索路径上的节点,存在的开销大、检索效率低的问题。为达上述目的,本专利技术第二方面实施例提出了一种搜索装置,包括:接收模块,用于接收检索语句;获取模块,用于对所述检索语句进行分析,获取所述检索语句的检索路径;其中,所述检索路径上包括两个或者两个以上的节点和连接所述节点的边线;确定模块,用于从所述检索路径上的第一个节点开始,确定正在遍历的当前节点所在的服务器;查询遍历模块,用于根据所述当前节点所发出的所述边线,从所述服务器中查询处于所述当前节点下游的属于所述检索路径上的第一节点,并按照所述第一节点所发出的所述边线继续遍历;判断模块,用于判断所述服务器中遍历到的最后一个第一节点是否为所述检索路径中末端节点;更新模块,用于如果非所述末端节点,则将所述当前节点更新为所述第一节点的下一级节点并按照所发出的所述边线继续遍历,直到遍历到所述末端节点作为检索结果。本专利技术实施例的搜索装置,通过从当前节点所在服务器中,查询处于当前节点下游的属于检索路径上的第一节点,当服务器中存储有第一节点时,直接从本地获取,而不必从第一节点所在的服务器上获取,即跨服务器获取第一节点,大大降低了跨服务器访问带来的开销,同时缩短了检索花费的时间,提高了检索效率,解决了相关技术中,跨服务器获取检索路径上的节点,存在的开销大、检索效率低的问题。为达上述目的,本专利技术第三方面实施例提出了一种计算机设备,包括处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如第一方面实施例所述的搜索方法。为了实现上述目的,本专利技术第四方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时实现如第一方面实施例所述的搜索方法。为了实现上述目的,本专利技术第五方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所述的搜索方法。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本专利技术实施例提供的一种搜索方法的流程示意图;图2为本专利技术实施例提供的某服务器中包括的节点的示意图;图3为本专利技术实施例提供的另一种搜索方法的流程示意图;图4为本专利技术实施例提供的分片及节点之间的关系示意图;图5为本专利技术实施例提供的一种搜索装置的结构示意图;图6为适于用来实现本申请实施方式的示例性计算机设备的框图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。下面参考附图描述本专利技术实施例的搜索方法和装置、计算机设备、程序产品以及存储介质。当视图数据规模大到单个服务器无法承载时,相关技术中,通常是基于点切分或者边切分对视图进行分片,从而将视图中的所有节点(即实体)打散到各个分片,不同的分片存储到不同的服务器上,从而可以实现大规模视图的存储和检索。基于切分后的视图进行搜索时,可以寻找到当前节点的下一级节点所在的服务器,然后按序检索出到最后的节点。由于所有节点被打散到多个服务器上,因此,在检索时需要跨服务器获取节点,有时可能会跨越多台服务器检索,这样会增加跨服务器访问的开销,检索效率降低。针对这一问题,本专利技术实施例提出一种搜索方法,通过从当前节点所在服务器中,查询当前节点下游的属于检索路径上的第一节点,当服务器中存储有检索路径上的第一节点时,从本地直接获取,不必从第一节点所在的服务器获取,从而减少了跨服务器访问的开销,同时缩短了检索花费的时间,提高了检索效率。图1为本专利技术实施例提供的一种搜索方法的流程示意图。步骤101,接收检索语句。由于图谱搜索能够支持更自然、复杂的查询输入,因此可在搜索引擎提供的输入框中输入检索语句,若某某妻子的文章。步骤102,对检索语句进行分析,获取检索语句的检索路径;其中,检索路径上包括两个或者两个以上的节点和连接节点的边线。在对检索语句进行分析时,作为一个示例,可将检索语句划分为多个分词,根据分词的词性和分词在检索语句中的顺序,确定节点以及连接节点的边线,得到检索路径。其中,检索路径上包括两个或者两个以上的节点和连接节点的边线,这里的边线表示两个节点之间的关系。例如,某某妻子的文章,某某为检索路径的起始节点,妻子是由某某发出的边线,文章为某某的下一级节点。步骤103,从检索路径上的本文档来自技高网...
搜索方法和装置、计算机设备、程序产品以及存储介质

【技术保护点】
一种搜索方法,其特征在于,包括:接收检索语句;对所述检索语句进行分析,获取所述检索语句的检索路径;其中,所述检索路径上包括两个或者两个以上的节点和连接所述节点的边线;从所述检索路径上的第一个节点开始,确定正在遍历的当前节点所在的服务器;根据所述当前节点所发出的所述边线,从所述服务器内查询处于所述当前节点下游的属于所述检索路径上的第一节点,并按照所述第一节点所发出的所述边线继续遍历;其中,所述服务器中包括存储单元和缓存单元;判断所述服务器中遍历到的最后一个第一节点是否为所述检索路径中末端节点;如果非所述末端节点,则将所述当前节点更新为所述第一节点的下一级节点并按照所发出的所述边线继续遍历,直到遍历到所述末端节点作为检索结果。

【技术特征摘要】
1.一种搜索方法,其特征在于,包括:接收检索语句;对所述检索语句进行分析,获取所述检索语句的检索路径;其中,所述检索路径上包括两个或者两个以上的节点和连接所述节点的边线;从所述检索路径上的第一个节点开始,确定正在遍历的当前节点所在的服务器;根据所述当前节点所发出的所述边线,从所述服务器内查询处于所述当前节点下游的属于所述检索路径上的第一节点,并按照所述第一节点所发出的所述边线继续遍历;其中,所述服务器中包括存储单元和缓存单元;判断所述服务器中遍历到的最后一个第一节点是否为所述检索路径中末端节点;如果非所述末端节点,则将所述当前节点更新为所述第一节点的下一级节点并按照所发出的所述边线继续遍历,直到遍历到所述末端节点作为检索结果。2.根据权利要求1所述的方法,其特征在于,若所述第一节点存储在所述缓存单元中,所述按照所述第一节点所发出的边线继续遍历之前,还包括:判断所述第一节点是否发生更新;如果所述第一节点发生更新,则向所述第一节点所在的服务器发送请求,获取更新后的所述第一节点。3.根据权利要求2所述的方法,其特征在于,所述判断所述第一节点是否发生更新,包括:将所述第一节点的参数信息发送给所述第一节点所在的所述服务器;接收所述服务器返回的指示信息;其中,所述指示信息是由所述服务器将接收到的所述参数信息与本地存储的所述参数信息进行比较后生成的;如果所述指示信息指示出两个所述参数信息不一致,则确定所述第一节点发生更新;如果所述指示信息指示出两个所述参数信息一致,则确定所述第一节点未发生更新。4.根据权利要求3所述的方法,其特征在于,所述将所述第一节点的参数信息发送给所述第一节点所在的所述服务器之前,还包括:获取所述第一节点缓存到所述缓存单元中的时间作为时间戳;获取所述第一节点的标识;利用所述时间戳和所述第一节点的标识,生成所述参数信息。5.根据权利要求2所述的方法,其特征在于,所述判断所述第一节点是否发生更新,包括:向所述第一节点所在的所述服务器发送参数信息请求;接收所述服务器返回的所述第一节点的参数信息;将接收到的所述参数信息与所述缓存单元中存储的所述第一节点的所述参数信息进行比较;如果两个所述参数信息不一致,则确定所述第一节点发生更新;如果两个所述参数信息一致,则确定所述第一节点未发生更新。6.根据权利要求2所述的方法,其特征在于,所述获取更新后的所述第一节点之后,还包括:将更新后的所述第一节点缓存到所述缓存单元中。7.根据权利要求1所述的方法,其特征在于,所述判断所述缓存单元中遍历到的最后一个第一节点是否为所述检索路径中末端节点,包括:判断所述最后一个第一节点是否具有从所述第一节点发出的所述边线;如果不存在从第一节点发出的所述边线,则判定所述第一节点为所述检索路径中末端节点。8.根据权利要求1所述的方法,其特征在于,还包括:如果从所述服务器中未查询到所述第一节点,则获取所述当前节点的下一级节点;将所述当前节点更新为所述下一级节点,确定所述当前节点所在的所述服务器,并从所述服务器拉取所述当前节点。9.根据权利要求8所述的方法,其特在在于,还包括:当遍历到所述末端节点后,将所述检索路径中的除所述第一个节点所在的所述服务器上包括的节点之外的其他节点,缓存到所述第一个节点所在的所述服务器内的所述缓存单元中。10.根据权利要求9所述的方法,其特征在于,所述将所述检索路径中的除所述第一个节点所在的所述服务器上包括的节点之外的其他节点,缓存到所述第一个节点所在的所述服务器内的所述缓存单元中,包括:获取所述缓存单元当前可缓存的节点的第一个数;获取所述...

【专利技术属性】
技术研发人员:汪洋乔敏王浩郑杰鹏
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1