【技术实现步骤摘要】
搜索方法和装置、计算机设备、程序产品以及存储介质
本专利技术涉及信息处理
,尤其涉及一种搜索方法和装置、计算机设备、程序产品以及存储介质。
技术介绍
目前,可基于实体与实体之间的关系进行检索,其中,实体以及实体之间的关系,可构成视图。当视图数据规模大到单个服务器无法承载时,相关技术中,通常是基于点切分或者边切分对视图进行分片,从而将视图中的所有节点(即实体)打散到各个分片,不同的分片存储到不同的服务器上,从而可以实现大规模视图的存储和检索。基于切分后的视图进行搜索时,可以寻找到当前节点的下一级节点所在的服务器,然后按序检索出到最后的节点。由于所有节点被打散到多个服务器上,因此,在检索时需要跨服务器获取节点,有时可能会跨越多台服务器检索,这样会增加跨服务器访问的开销,检索花费的时间长,检索效率低。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的第一个目的在于提出一种搜索方法,通过从当前节点所在服务器中,查询当前节点下游的属于检索路径上的节点,当服务器中存储有检索路径上的节点时,从本地直接获取,不必从节点所在的服务器获取,从而减少了跨服务器访问的开销,同时缩短了检索花费的时间,提高了检索效率。本专利技术的第二个目的在于提出一种搜索装置。本专利技术的第三个目的在于提出一种计算机设备。本专利技术的第四个目的在于提出一种计算机程序产品。本专利技术的第五个目的在于提出一种非临时性计算机可读存储介质。为达上述目的,本专利技术第一方面实施例提出了一种搜索方法,包括:接收检索语句;对所述检索语句进行分析,获取所述检索语句的检索 ...
【技术保护点】
一种搜索方法,其特征在于,包括:接收检索语句;对所述检索语句进行分析,获取所述检索语句的检索路径;其中,所述检索路径上包括两个或者两个以上的节点和连接所述节点的边线;从所述检索路径上的第一个节点开始,确定正在遍历的当前节点所在的服务器;根据所述当前节点所发出的所述边线,从所述服务器内查询处于所述当前节点下游的属于所述检索路径上的第一节点,并按照所述第一节点所发出的所述边线继续遍历;其中,所述服务器中包括存储单元和缓存单元;判断所述服务器中遍历到的最后一个第一节点是否为所述检索路径中末端节点;如果非所述末端节点,则将所述当前节点更新为所述第一节点的下一级节点并按照所发出的所述边线继续遍历,直到遍历到所述末端节点作为检索结果。
【技术特征摘要】
1.一种搜索方法,其特征在于,包括:接收检索语句;对所述检索语句进行分析,获取所述检索语句的检索路径;其中,所述检索路径上包括两个或者两个以上的节点和连接所述节点的边线;从所述检索路径上的第一个节点开始,确定正在遍历的当前节点所在的服务器;根据所述当前节点所发出的所述边线,从所述服务器内查询处于所述当前节点下游的属于所述检索路径上的第一节点,并按照所述第一节点所发出的所述边线继续遍历;其中,所述服务器中包括存储单元和缓存单元;判断所述服务器中遍历到的最后一个第一节点是否为所述检索路径中末端节点;如果非所述末端节点,则将所述当前节点更新为所述第一节点的下一级节点并按照所发出的所述边线继续遍历,直到遍历到所述末端节点作为检索结果。2.根据权利要求1所述的方法,其特征在于,若所述第一节点存储在所述缓存单元中,所述按照所述第一节点所发出的边线继续遍历之前,还包括:判断所述第一节点是否发生更新;如果所述第一节点发生更新,则向所述第一节点所在的服务器发送请求,获取更新后的所述第一节点。3.根据权利要求2所述的方法,其特征在于,所述判断所述第一节点是否发生更新,包括:将所述第一节点的参数信息发送给所述第一节点所在的所述服务器;接收所述服务器返回的指示信息;其中,所述指示信息是由所述服务器将接收到的所述参数信息与本地存储的所述参数信息进行比较后生成的;如果所述指示信息指示出两个所述参数信息不一致,则确定所述第一节点发生更新;如果所述指示信息指示出两个所述参数信息一致,则确定所述第一节点未发生更新。4.根据权利要求3所述的方法,其特征在于,所述将所述第一节点的参数信息发送给所述第一节点所在的所述服务器之前,还包括:获取所述第一节点缓存到所述缓存单元中的时间作为时间戳;获取所述第一节点的标识;利用所述时间戳和所述第一节点的标识,生成所述参数信息。5.根据权利要求2所述的方法,其特征在于,所述判断所述第一节点是否发生更新,包括:向所述第一节点所在的所述服务器发送参数信息请求;接收所述服务器返回的所述第一节点的参数信息;将接收到的所述参数信息与所述缓存单元中存储的所述第一节点的所述参数信息进行比较;如果两个所述参数信息不一致,则确定所述第一节点发生更新;如果两个所述参数信息一致,则确定所述第一节点未发生更新。6.根据权利要求2所述的方法,其特征在于,所述获取更新后的所述第一节点之后,还包括:将更新后的所述第一节点缓存到所述缓存单元中。7.根据权利要求1所述的方法,其特征在于,所述判断所述缓存单元中遍历到的最后一个第一节点是否为所述检索路径中末端节点,包括:判断所述最后一个第一节点是否具有从所述第一节点发出的所述边线;如果不存在从第一节点发出的所述边线,则判定所述第一节点为所述检索路径中末端节点。8.根据权利要求1所述的方法,其特征在于,还包括:如果从所述服务器中未查询到所述第一节点,则获取所述当前节点的下一级节点;将所述当前节点更新为所述下一级节点,确定所述当前节点所在的所述服务器,并从所述服务器拉取所述当前节点。9.根据权利要求8所述的方法,其特在在于,还包括:当遍历到所述末端节点后,将所述检索路径中的除所述第一个节点所在的所述服务器上包括的节点之外的其他节点,缓存到所述第一个节点所在的所述服务器内的所述缓存单元中。10.根据权利要求9所述的方法,其特征在于,所述将所述检索路径中的除所述第一个节点所在的所述服务器上包括的节点之外的其他节点,缓存到所述第一个节点所在的所述服务器内的所述缓存单元中,包括:获取所述缓存单元当前可缓存的节点的第一个数;获取所述...
【专利技术属性】
技术研发人员:汪洋,乔敏,王浩,郑杰鹏,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。