CN113158002A - 搜索方法、装置、电子设备和存储介质 - Google Patents
搜索方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113158002A CN113158002A CN202110468415.1A CN202110468415A CN113158002A CN 113158002 A CN113158002 A CN 113158002A CN 202110468415 A CN202110468415 A CN 202110468415A CN 113158002 A CN113158002 A CN 113158002A
- Authority
- CN
- China
- Prior art keywords
- search
- target
- result
- search result
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开关于搜索方法、装置、电子设备和存储介质。所述方法包括:向第一搜索设备发起针对目标对象的第一搜索请求;在所述第一搜索设备未返回正常搜索结果的情况下,向关联至所述第一搜索设备的第二搜索设备和缓存设备分别发起第二搜索请求;在接收到所述第二搜索设备和所述缓存设备响应于所述第二搜索请求分别返回的搜索结果的情况下,根据所述搜索结果确定对应于所述目标对象的目标搜索结果。该方法能够保证用户接收到的搜索结果能够尽可能的最新,并降低用户无法获取搜索结果的概率,有助于提升用户的搜索体验。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种搜索方法、装置、电子设备和存储介质。
背景技术
现阶段,网络内容提供平台通常会为用户提供针对网络内容的搜索服务。响应于用户针对目标对象发起的搜索请求,搜索服务器会调用索引服务器获取对应于目标对象的搜索结果。然而,在短时间内接收到大量用户的搜索请求(即“高并发”)场景下,索引服务器往往无法及时处理大量请求,导致在后请求无法被及时响应,甚至因在前请求过多导致搜索时间过长、搜索失败甚至服务器宕机,从而影响用户的搜索体验。
对此,相关技术通过预先备份请求关键词及其对应的搜索结果,对搜索服务器无法处理的部分请求进行响应。但是因为备份数据的时效性较差,所以返回至用户的搜索结果往往并不准确,从而导致用户的搜索体验不佳。
发明内容
本公开提供了搜索方法、装置、电子设备和存储介质,以至少解决相关技术中的技术问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提出一种搜索方法,包括:
向第一搜索设备发起针对目标对象的第一搜索请求;
在所述第一搜索设备未返回正常搜索结果的情况下,向关联至所述第一搜索设备的第二搜索设备和缓存设备分别发起第二搜索请求;
在接收到所述第二搜索设备和所述缓存设备响应于所述第二搜索请求分别返回的搜索结果的情况下,根据所述搜索结果确定对应于所述目标对象的目标搜索结果。
可选的,确定所述第一搜索设备未返回正常搜索结果,包括:
在有效响应时长内未接收到所述第一搜索设备返回的搜索结果,或者在有效响应时长内接收到所述第一搜索设备返回的异常搜索结果,则确定所述第一搜索设备未返回正常搜索结果。
可选的,确定所述第一搜索设备返回异常搜索结果,包括:
在所述第一搜索设备返回的第一搜索结果中所包含的数据异常字段的字段取值为第一值的情况下,确定所述第一搜索结果为异常搜索结果;或者,
在所述第一搜索设备返回的第一搜索结果不符合预设数据规则的情况下,确定所述第一搜索结果为异常搜索结果。
可选的,所述搜索结果包括所述第二搜索设备返回的第二搜索结果和所述缓存设备返回的缓存结果,所述根据所述搜索结果确定对应于所述目标对象的目标搜索结果,包括:
在所述第二搜索结果为正常搜索结果的情况下,将所述第二搜索结果确定为对应于所述目标对象的目标搜索结果;
在所述第二搜索结果为正常搜索结果或随机搜索结果的情况下,将所述缓存结果确定为对应于所述目标对象的目标搜索结果。
可选的,所述根据所述搜索结果确定对应于所述目标对象的目标搜索结果,包括:
对于所述搜索结果中包含的各个搜索数据,依次确定所述各个搜索数据与所述目标对象之间的匹配程度;
按照所述匹配程度对所述各个搜索数据进行排序,并将排序后的搜索数据确定为对应于所述目标对象的目标搜索结果。
可选的,在发起所述第一搜索请求之前,所述方法还包括:
若参数配置字段的取值被设置为第二值,则向所述缓存设备发起所述第一搜索请求,并将所述缓存设备返回的缓存结果作为对应于所述目标对象的目标搜索结果;或者,
在所述目标对象包含在接收到的目标搜索请求中的情况下,确定所述目标搜索请求的目标搜索类型,向所述第二搜索设备和所述缓存设备中匹配于所述目标搜索类型的设备发起所述第一搜索请求,并将该设备返回的搜索结果作为对应于所述目标对象的目标搜索结果。
可选的,所述目标对象为目标关键词,本地维护有包含关键词的关键词表,且本地缓存中保存有所述关键词对应的缓存结果;所述方法还包括:
在所述关键词表中记录有所述目标关键词的情况下,从所述本地缓存中获取所述目标关键词对应的缓存结果,并将该缓存结果作为对应于所述目标对象的目标搜索结果。
可选的,还包括:
若所述关键词表中不包含所述目标关键词,则在所述关键词表中记录所述目标关键词,并将所述目标搜索结果作为所述目标关键词对应的缓存结果保存在所述本地缓存中。
可选的,所述目标对象包含在接收到的目标搜索请求中,所述本地缓存中的缓存结果被按照至少一种搜索维度保存,所述从所述本地缓存中获取所述目标关键词对应的搜索结果,包括:
根据所述目标搜索请求携带的目标搜索类型、目标版本信息和/或请求页数确定目标搜索维度;
从所述本地缓存中查询匹配于所述目标搜索维度的搜索结果作为所述目标关键词对应的目标搜索结果。
可选的,还包括:
在第一搜索设备返回正常搜索结果的情况下,将所述正常搜索结果发送至所述缓存设备,以作为所述目标对象的最新搜索结果。
可选的,所述将所述正常搜索结果发送至所述缓存设备,包括:
通过消息队列将所述正常搜索结果异步发送至所述缓存设备。
可选的,所述缓存设备包括构成分布式存储集群的多个存储服务器。
根据本公开实施例的第二方面,提出一种搜索装置,包括:
第一搜索请求单元,被配置为向第一搜索设备发起针对目标对象的第一搜索请求;
第二搜索请求单元,被配置为在所述第一搜索设备未返回正常搜索结果的情况下,向关联至所述第一搜索设备的第二搜索设备和缓存设备分别发起第二搜索请求;
结果确定单元,被配置为在接收到所述第二搜索设备和所述缓存设备响应于所述第二搜索请求分别返回的搜索结果的情况下,根据所述搜索结果确定对应于所述目标对象的目标搜索结果。
可选的,所述第二搜索请求单元还被配置为:
在有效响应时长内未接收到所述第一搜索设备返回的搜索结果,或者在有效响应时长内接收到所述第一搜索设备返回的异常搜索结果,则确定所述第一搜索设备未返回正常搜索结果。
可选的,所述第二搜索请求单元还被配置为:
在所述第一搜索设备返回的第一搜索结果中所包含的数据异常字段的字段取值为第一值的情况下,确定所述第一搜索结果为异常搜索结果;或者,
在所述第一搜索设备返回的第一搜索结果不符合预设数据规则的情况下,确定所述第一搜索结果为异常搜索结果。
可选的,所述搜索结果包括所述第二搜索设备返回的第二搜索结果和所述缓存设备返回的缓存结果,所述结果确定单元还被配置为:
在所述第二搜索结果为正常搜索结果的情况下,将所述第二搜索结果确定为对应于所述目标对象的目标搜索结果;
在所述第二搜索结果为正常搜索结果或随机搜索结果的情况下,将所述缓存结果确定为对应于所述目标对象的目标搜索结果。
可选的,所述结果确定单元还被配置为:
对于所述搜索结果中包含的各个搜索数据,依次确定所述各个搜索数据与所述目标对象之间的匹配程度;
按照所述匹配程度对所述各个搜索数据进行排序,并将排序后的搜索数据确定为对应于所述目标对象的目标搜索结果。
可选的,所述装置还包括:
配置确定单元,被配置为在发起所述第一搜索请求之前,若参数配置字段的取值被设置为第二值,则向所述缓存设备发起所述第一搜索请求,并将所述缓存设备返回的缓存结果作为对应于所述目标对象的目标搜索结果;或者,
类型确定单元,被配置为在发起所述第一搜索请求之前,在所述目标对象包含在接收到的目标搜索请求中的情况下,确定所述目标搜索请求的目标搜索类型,向所述第二搜索设备和所述缓存设备中匹配于所述目标搜索类型的设备发起所述第一搜索请求,并将该设备返回的搜索结果作为对应于所述目标对象的目标搜索结果。
可选的,所述目标对象为目标关键词,本地维护有包含关键词的关键词表,且本地缓存中保存有所述关键词对应的缓存结果;所述装置还包括:
缓存确定单元,被配置为在所述关键词表中记录有所述目标关键词的情况下,从所述本地缓存中获取所述目标关键词对应的缓存结果,并将该缓存结果作为对应于所述目标对象的目标搜索结果。
可选的,还包括:
第一缓存单元,被配置为若所述关键词表中不包含所述目标关键词,则在所述关键词表中记录所述目标关键词,并将所述目标搜索结果作为所述目标关键词对应的缓存结果保存在所述本地缓存中。
可选的,所述目标对象包含在接收到的目标搜索请求中,所述本地缓存中的缓存结果被按照至少一种搜索维度保存,所述缓存确定单元还被配置为:
根据所述目标搜索请求携带的目标搜索类型、目标版本信息和/或请求页数确定目标搜索维度;
从所述本地缓存中查询匹配于所述目标搜索维度的搜索结果作为所述目标关键词对应的目标搜索结果。
可选的,还包括:
第二缓存单元,被配置为在第一搜索设备返回正常搜索结果的情况下,将所述正常搜索结果发送至所述缓存设备,以作为所述目标对象的最新搜索结果。
可选的,所述第二缓存单元还被配置为:
通过消息队列将所述正常搜索结果异步发送至所述缓存设备。
可选的,所述缓存设备包括构成分布式存储集群的多个存储服务器。
根据本公开实施例的第三方面,提出一种服务器,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述第一方面中任一实施例所述的搜索方法。
根据本公开实施例的第四方面,提出一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面中任一实施例所述的搜索方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序和/或指令,所述计算机程序和/或指令被处理器执行时实现上述任一实施例所述的搜索方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的实施例,针对待搜索的目标对象,搜索服务器首先向第一搜索设备(如上述搜索服务器)发起第一搜索请求,并对其返回的第一搜索结果进行判断:若第一搜索设备未返回正常搜索结果,则向关联至第一搜索设备的第二搜索设备和缓存设备分别发起第二搜索请求并接收二者分别返回的搜索结果,进而根据接收到的搜索结果确定对应于目标对象的目标搜索结果。可见,本方案在设置缓存设备的同时,还设置第二搜索设备,从而在第一搜索设备未返回正常搜索结果的情况下,搜索服务器并不会直接向用户返回空白页或报错,而是同时向第二搜索设备和缓存设备分别发起第二搜索请求,并根据二者返回的搜索结果共同确定目标搜索结果以返回至用户。使得用户接收到的搜索结果能够尽可能的最新(因为第二搜索设备的搜索结果也是实时的),有助于提升用户的搜索体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是一示例性实施例提供的一种搜索平台的架构示意图;
图2是根据本公开的实施例示出的一种搜索方法的流程图;
图3是根据本公开的实施例示出的一种搜索***的结构示意图;
图4是根据本公开的实施例示出的另一种搜索方法的流程图;
图5是根据本公开的实施例示出的一种搜索装置的框图;
图6是根据本公开的实施例示出的一种电子设备的结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
现阶段,网络内容平台通常会为用户提供针对网络内容的搜索服务,即实现为搜索平台。响应于用户针对目标对象发起的搜索请求,搜索服务器会调用索引服务器获取对应于目标对象的搜索结果。
图1是一示例性实施例提供的一种搜索平台的架构示意图。如图1所示,该平台可以包括网络10、服务器11、若干电子设备,比如手机12、手机13和手机14等。
服务器11可以为包含一独立主机的物理服务器,或者该服务器11可以为主机集群承载的虚拟服务器。在运行过程中,服务器11可以运行某一应用的服务器侧的程序,以实现该应用的相关业务功能,比如当该服务器11运行具有内容搜索功能的直播平台的程序时,可以实现为该直播平台的服务端,又比如当该服务器11运行搜索平台的程序时,可以实现为该搜索平台的服务端。而在本说明书一个或多个实施例的技术方案中,可由服务器11通过与手机12-14上运行的客户端进行配合,以实现本说明书所述的搜索方案。
在本实施例中,搜索平台不仅可以实现网络内容的搜索功能,还可以作为诸多其他功能的集成化功能平台,比如对于搜索请求的发起、搜索结果正常与否的判断、目标搜索结果的确定、所述数据的排序、关键词表的维护、缓存结果的更新等,本说明书一个或多个实施例并不对此进行限制。
手机12-14只是用户可以使用的一种类型的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:平板设备、笔记本电脑、掌上电脑(PDAs,Personal DigitalAssistants)、可穿戴设备(如智能眼镜、智能手表等)等,本说明书一个或多个实施例并不对此进行限制。在运行过程中,该电子设备可以运行某一应用的客户端侧的程序,以实现应用的相关业务功能,比如当该电子设备运行搜索平台的程序时,可以实现为该搜索平台的客户端,例如手机12可以实现内容提供客户端,手机13和手机14可以实现内容消费客户端,二者均可以实现内容搜索功能,即实现为内容搜索客户端。
需要指出的是:搜索平台的客户端的应用程序可以被预先安装在电子设备上,使得该客户端可以在该电子设备上被启动并运行;当然,当采用诸如HTML5技术的在线“客户端”时,无需在电子设备上安装相应的应用程序,即可获得并运行该客户端。
而对于网络10,可以包括多种类型的有线或无线网络。
在短时间内接收到大量用户的搜索请求(即“高并发”)场景下,索引服务器往往无法及时处理大量请求,导致在后请求无法被及时响应,甚至因在前请求过多导致搜索时间过长、搜索失败甚至服务器宕机,从而影响用户的搜索体验。对此,相关技术通过预先备份请求关键词及其对应的搜索结果,对搜索服务器无法处理的部分请求进行响应。但是因为备份数据的时效性较差,所以返回至用户的搜索结果往往并不准确,导致用户的搜索体验不佳。
为解决上述问题,本公开实施例提出一种搜索方法,针对待搜索的目标对象,搜索服务器首先向第一搜索设备(如上述搜索服务器)发起第一搜索请求,并对其返回的第一搜索结果进行判断:若第一搜索设备未返回正常搜索结果,则向关联至第一搜索设备的第二搜索设备和缓存设备分别发起第二搜索请求并接收二者分别返回的搜索结果,进而根据接收到的搜索结果确定对应于目标对象的目标搜索结果。使得用户接收到的搜索结果能够尽可能的最新,并降低用户无法获取搜索结果的概率,从而有助于提升用户的搜索体验。
图2是本说明书一示例性实施例示出的一种搜索方法的流程图。如图2所示,该方法应用于搜索服务器,可以包括以下步骤:
步骤202,向第一搜索设备发起针对目标对象的第一搜索请求。
在本公开的实施例中,搜索服务器可以为实体设备形式的服务器,或者也可以为在实体设备中通过软件实现的服务器实例,类似的,下述第二搜索设备和缓存设备等均可以为实体设备形式的服务器或通过软件实现的服务器实例,本公开实施例并不对此进行限制。
搜索服务器可以接收针对的目标搜索请求,该请求中可以包含相应的目标对象,如用户欲搜索的目标关键词(搜索关键词)、目标图片(以图搜图)等。其中,目标搜索请求可以由用户通过客户端等请求发起方直接发送至搜索服务器;或者,为避免客户端直接向搜索服务器发送请求可能带来的负荷过载,也可以由客户端将目标搜索请求发送至代理服务器,并由代理服务器对接收到的搜索请求进行限流、风控等处理后发送至搜索服务器。因此,搜索服务器所接收的目标搜索请求的直接发送方可以为客户端或者代理服务器,相应的,搜索服务器在响应该请求获取到相应的目标搜索结果后,可以将该目标搜索结果返回至(发送该目标搜索请求的)直接发送方。当然,搜索服务器接收到的多个搜索请求中,可以均来自客户端、均来自代理服务器,或者一部分来自客户端另一部分来自代理服务器,本公开实施例并不对此进行限制,本公开实施例仅对其中任一搜索请求的响应过程进行说明,该任一搜索请求即为本公开实施例中的所述目标搜索请求,特此说明。
在本实施例中,第一搜索设备在接收到上述目标搜索请求后,可以向第一搜索设备发起第一搜索请求,以触发第一搜索设备通过调用下游的存储服务、数据关系服务等底层服务获取召回结果(即目标对象对应的网络内容),即触发第一搜索设备搜索目标对象对应的第一搜索结果。例如,搜索服务器可以将接收到的目标搜索请求转发至第一搜索设备(即将目标搜索请求作为第一搜索请求),或者也可以从目标搜索请求中提取与目标对象有关的搜索规则,进而根据该搜索规则和其他的必要参数(如与第一搜索设备交互过程中需要的通信参数等)生成第一搜索请求并发送至第一搜索设备。其中,上述搜索规则可以包括搜索类型,如文字搜索、语音搜索、图片搜索等;还可以包括搜索关键词,如用户在客户端的搜索框中输入的文本、在语音搜索界面中输入的语音片段、在图片搜索界面(对应于图搜功能)中输入的待搜索图片等;还可以包括结果页数,如客户端或代理服务器指定的需要获取的搜索结果的页数(用于表征结果的数量)、搜索结果的发布时间区间、发布平台、发布方等,本公开实施例并不对此进行限制。
相应的,第一搜索设备可以在接收到搜索服务器发送的针对目标对象的第一搜索请求后,通过调用下游的存储服务、数据关系服务等底层服务提供的索引服务,按照上述搜索规则对网络资源进行搜索,以获取其中关于目标对象的召回结果。例如,第一搜索设备可以通过网络爬虫的方式爬取网站、数据库等网络空间中的网络资源,并从爬取得到的网络资源中确定关于目标对象的召回结果。该召回结果通常包含未经排序的多个召回数据,因此第一搜索设备还可以通过排序算法或者调用排序模型对召回数据进行排序处理,以得到第一搜索结果。
正常情况下,第一搜索设备能够响应于第一搜索请求进行相关搜索并获取到相应的第二搜索结果。但是,第一搜索设备当前时刻正在处理的请求数量可能较多,或者第一搜索设备当前时刻正处于故障状态,因此其可能无法获取并向搜索服务器返回对应于目标对象的正常搜索结果。因此,可以根据搜索服务器对于第一搜索结果返回结果的接收情况对第一搜索设备是否返回正常搜索结果进行判断,并据此执行后续的响应步骤。其中,第一搜索结果为正常搜索结果,即表明第一搜索结果匹配于目标搜索请求对应的搜索规则且其能够作为对目标对象的响应返回给用户。
在一实施例中,搜索服务器可以为上述第一搜索请求设置有效响应时长,如1ms、10ms、0.5ms等,从而根据第一搜索设备在该有效响应时长内是否接收到第一搜索设备返回的第一搜索结果、或者按照预设规则对返回的第一搜索结果知否为正常搜索结果进行判断。其中,下文将第一搜索设备在该有效响应时长内返回的数据称为第一搜索结果。如前所述,第一搜索设备可能无法在有效响应时长内返回第一搜索结果(如返回超时)或者返回的第一搜索结果并非正常搜索结果,搜索服务器可以进行如下判断:若在预设时长内未接收到所述第一搜索设备返回的搜索结果(即上述第一搜索结果),或者在预设时长内接收到所述第一搜索设备返回的异常搜索结果,则确定所述第一搜索设备未返回正常搜索结果。
其中,在第一搜索设备所依赖的底层服务故障或第一搜索设备当前业务压力较大从而导致相搜索服务器返回上述异常搜索结果的情况下,该异常搜索结果往往并不完整。此时,搜索服务器可以通过下述方式对第一搜索设备返回的搜索结果进行检查,以确定搜索结果是否为正常结果。作为一示例性实施例,第一搜索设备返回的第一搜索结果中可以包含预设的数据异常字段,并由第一搜索设备在确定第一搜索结果是否为正常结果(可以根据第一搜索结果是否匹配于前述的搜索规则进行确定)之后,将该字段的字段取值设置为与确定结果相对应的预设值,以由该数据异常字段的字段取值表征第一搜索结果是否为正常结果。相应的,搜索服务器可以在接收到第一搜索结果后提取上述字段取值,并在该字段取值为第一值的情况下,判定第一搜索结果为异常搜索结果,否则,可以判定上述搜索结果为正常搜索结果。例如,上述字段取值code对应的第一值可以为零,此时可以在字段取值code=0的情况下,判定搜索结果为异常搜索结果,相应的,可以在字段取值code≠0的情况下,判定上述搜索结果为异常结果。从而通过上述字段取值清楚明了的表征第一搜索结果是否正常。另外,为便于故障定位,还可以预先设置不同异常搜索结果分别对应的字段取值code的不同取值。例如,搜索服务器可以在code=1的情况下,判定第一搜索设备的所依赖的数据存储服务故障,在code=2的情况下,判定第一搜索设备的所依赖的数据关系服务故障等,不再赘述。
作为另一示例性实施例,搜索服务器和第一搜索设备可以预先协商搜索结果对应的数据规则,从而第一搜索设备在获取搜索数据后,根据该数据规则生成搜索结果,而搜索服务器可以通过检测第一搜索设备返回的搜索结果是否符合预设的数据规则,判断该搜索结果是否为异常结果:若符合,则可以判定搜索结果为正常搜索结果,若不符合,则可以判定搜索结果为异常搜索结果。其中,上述数据规则可以包括数据量、数据页数、数据卡类型、数据排列顺序等,本公开实施例并不对此进行限制。通过该方式,由搜索服务器通过预设的数据规则判断搜索结果正常与否,有助于简化第一搜索设备的处理逻辑,即第一搜索设备只获取所述数据并生成搜索结果即可。
在本实施例中,第一搜索设备关联有第二搜索设备和缓存设备。其中,第二搜索设备具有与第一搜索设备类似的网络内容搜索能力,或者,为保证对目标搜索请求的处理效率,第二搜索设备也可以仅具有针对目标对象所对应的部分关键网络内容的搜索能力。缓存设备用于缓存第一搜索设备在一定时长内搜索到的全部对象或高频对象的历史搜索结果,以使用历史搜索结果对后续的同类请求进行高效处理。
因此,在确定上述第一搜索设备返回正常搜索结果的情况下,搜索服务器可以对该正常搜索结果进行缓存。例如,搜索服务器可以将该正常搜索结果返回至目标搜索请求的发送方,从而实现对目标搜索请求的响应。进一步的,搜索服务器可以将该正常搜索结果发送至缓存设备,作为新的历史搜索结果或用于更新已有的所述历史搜索结果。其中,缓存设备中的搜索历史搜索结果可以按照上述搜索规则所对应的多个维度继续保存,从而缓存设备可以检查本地是否保存有目标搜索规则对应的历史搜索结果:若保存有该历史搜索结果,该历史搜索结果可能已经过期或并非最新,因此可以使用上述正常搜索结果更新(或称替换)本地以保存的上述历史搜索结果,以保证缓存设备中时刻保存最新的历史搜索结果。当然,为减少不必要的更新操作,缓存设备也可以先检查接收到的正常搜索结果与本地保存的历史搜索结果是否相同,并在二者不同的情况下才进行更新。反之,若本地未保存上述目标搜索规则对应的历史搜索结果,则可以按照上述搜索规则所对应的多个维度保存上述最新搜索结果,从而扩充缓存设备中保存的历史搜索结果,以保证缓存设备中所保存历史搜索结果的全面性。
进一步的,搜索服务器可以通过消息队列将上述正常搜索结果异步发送至缓存设备。在该过程中,搜索服务器相当于消息队列中消息的生产者(Producer),而缓存设备相当于相应的消费者(Consumer)。其中,上述消息队列可以为Kafka、Ra第二搜索设备itMQ、RocketMQ、ActiveMQ、ZeroMQ、MetaMq等,在方案实践中,可以根据业务场景、数据类型、请求数量等实际情况选择合适的消息队列。通过消息队列处理上述正常搜索结果的具体过程,可以参见相关技术中针对消息队列中消息的生产及消费过程,此处不再赘述。通过上述进一步处理,不仅能够在搜索服务器接收到的请求数量较多时实现对消息的限流削峰,避免流量过大导致***宕机,而且能够实现消息的一步并发处理,有效减少消息处理时间。
在本说明书所述实施例中,上述缓存设备可以为构成分布式存储集群的多个存储服务器,例如可以为Redis、Mysql以及phxsql等分布式存储及其对应的存储服务器。通过使用分布式存储集群,能够实现历史搜索结果的多地冗余备份,从而有助于实现对备份数据的就近获取,降低请求响应耗时。另外,因为上述存储服务器自身即可实现消息队列功能,因此也可以使用上述存储服务器自身的消息队列功能,而无需额外调用Kafka等消息队列。
而在上述第一搜索设备返回正常搜索结果的情况下,搜索服务器可以转入步骤204。
步骤204,在所述第一搜索设备未返回正常搜索结果的情况下,向关联至所述第一搜索设备的第二搜索设备和缓存设备分别发起第二搜索请求。
步骤206,在接收到所述第二搜索设备和所述缓存设备响应于所述第二搜索请求分别返回的搜索结果的情况下,根据所述搜索结果确定对应于所述目标对象的目标搜索结果。
在本实施例中,若第一搜索设备未返回正常搜索结果,则缓存设备可以向前述的第二搜索设备和缓存设备分别发起第二搜索请求,并接收二者分别返回的搜索结果,进而根据该搜索结果确定对应于目标对象的目标搜索结果,以作为针对目标搜索请求的有效响应。
在一实施例中,第二搜索设备和缓存设备也可能因故障而无法返回正常搜索结果,所以搜索服务器在接收到第二搜索设备返回的第二搜索结果和缓存设备返回的缓存结果后,可以根据预设的优先级确定目标搜索结果。例如,该优先级可以为:第二搜索设备返回的正常搜索结果>缓存设备返回的缓存结果>第二搜索设备返回的异常搜索结果或者随机搜索结果(其中,“>”表示在前的优先级高于在后的优先级)。从而,搜索服务器可以通过下述方式确定目标搜索结果:在预设时长内仅接收到第二搜索设备或缓存设备返回的搜索结果的情况下,将接收到的搜索结果确定为目标搜索结果。其中,若缓存设备出现故障,则搜索服务器可能仅接收到第二搜索设备返回的搜索结果,而若第二搜索设备出现故障,则搜索服务器可能仅接收到缓存设备返回的搜索结果。此时,搜索服务器只需要将其接收到的上述搜索结果作为目标搜索结果返回目标搜索请求的发送方即可。而在第二搜索设备和缓存设备均无故障的情况下,搜索服务器会接收到第二搜索设备返回的第二搜索结果和缓存设备返回的缓存结果,此时搜索服务器可以进一步判断第二搜索结果是否为正常搜索结果:若第二搜索结果为正常搜索结果,则将该第二搜索结果确定为目标搜索结果,否则,若第二搜索结果为异常搜索结果或随机搜索结果,则将上述缓存结果确定为目标搜索结果。
其中,搜索服务器可以采用与前述实施例所述的确定第一搜索结果是否为正常搜索结果相同的方式确定第二搜索设备返回的第二搜索结果是否为正常搜索结果,此处不再赘述。另外,上述随机搜索结果可以由第二搜索设备在确定针对目标搜索请求的运营位(如广告位、货品展示位等)为空,或者针对目标搜索请求的索引数据为空的情况下随机确定,该随机搜索结果的具体内容可能与目标搜索请求所包含的搜索关键词并无任何关系,只是将其作为最终的兜底结果,避免返回空白页或直接报错,以保证用户体验。
在上述实施例中,无论是第一搜索设备返回的第一搜索结果、第二搜索设备返回的第二搜索结果还是缓存设备返回的缓存结果,均为相应设备对召回结果(即搜索数据)进行排序后的搜索结果。实际上,上述第二搜索结果和缓存结果还可以未未排序的召回结果,从而搜索服务器可以对第二搜索结果和缓存结果所包含的各个搜索数据进行排序以确定目标搜索结果。例如,对于第二搜索结果和缓存结果中包含的各个搜索数据,搜索服务器可以依次确定所述各个搜索数据与目标对象之间的匹配程度,进而可以按照该匹配程度对各个搜索数据进行排序,并将排序后的搜索数据确定为对应于目标对象的目标搜索结果。通过该方式,搜索服务器可以将第二搜索结果和缓存结果的搜索数据进行融合,从而保证最终确定的目标搜索结果的全面性和准确性。其中,上述匹配程度的确定可以通过语义分析、关键词检索等方式进行,不再赘述。
在一实施例中,开发人员也可以预先对搜索服务器进行配置,将针对全部搜索请求的响应切换至缓存设备。例如,在接收到目标搜索请求之后,搜索服务器可以检测预设的参数配置字段的取值,若该取值为第二值(如为缓存设备预先分配的设备标识),则向缓存设备发起所述第一搜索请求,并将缓存设备返回的缓存搜索结果作为对应于目标对象的目标搜索结果,进而可以将该搜索结果返回至目标搜索请求的发起方,以实现对目标搜索请求的有效响应。此时,前述实施例所述的向第一搜索设备发起第一搜索请求的步骤及其后续步骤均不再执行,从而实现对目标搜索请求的强制响应配置。
或者,搜索服务器也可以根据目标搜索请求的搜索类型控制针对目标搜索请求的响应过程,例如,在目标对象包含在目标搜索请求中的情况下,搜索服务器可以确定目标搜索请求的目标搜索类型,并向第二搜索设备和缓存设备中匹配于目标搜索类型的设备发起第一搜索请求,进而将该设备返回的搜索结果作为对应于目标对象的目标搜索结果,进而可以将该搜索结果返回至目标搜索请求的发起方,以实现对目标搜索请求的有效响应。其中,上述目标搜索请求中可以包含相应的搜索类型,如文字搜索、图片搜索、语音搜索等,上述各种搜素类型与第二搜索设备或缓存设备的对应关系可以被预先设置,例如预设文字搜索对应的目标搜索请求通过第二搜索设备进行响应,图片搜索和语音搜索对应的目标搜索请求通过缓存设备进行响应,具体过程不再赘述。可以理解的是,若匹配于目标搜索类型的设备为第二搜索设备,则上述目标搜索结果为第二搜索结果;若匹配于目标搜索类型的设备为缓存设备,则上述目标搜索结果为缓存结果。
在一实施例中,在大型活动、特定事件等发生之前,可以预测上述活动或事件对应的搜索关键词,并使用这部分关键词建立关键词表,然后将这部分关键词对应的缓存结果预存在本地缓存中。从而,在接收到上述目标搜索请求之后,搜索服务器可以获取目标搜索请求记录的目标关键词,然后在上述关键词表中查询该目标关键词:若关键词表中记录有该目标关键词,则可以从本地缓存中获取该目标关键词对应的缓存结果,并将其作为对应于目标对象的目标搜索结果,进而可以将该结果返回至目标搜索请求的发送方,从而实现对目标搜索请求的有效响应。通过该方式,搜索服务器能够预测活动或事件发生时可能出现的关键词,并在接收到的目标搜索请求对应于预测得到的关键词的情况下,适用预先存储的搜索结果作为针对目标搜索请求的响应,从而大大减小针对目标搜索请求的响应时间,提升请求响应效率及用户体验。
或者,若关键词表中并未记录该目标关键词,搜索服务器可以在该关键词表中记录该目标关键词,并将相应的目标搜索结果作为该目标关键词对应的缓存结果保存在本地缓存中,从而实现对关键词表和本地缓存的搜索结果的扩充,以减少针对该目标关键词的后续请求的响应时间。
进一步的,上述目标对象可以为目标关键词,本地缓存中的搜索结果还可以按照搜索类型、版本信息和/或结果页数等至少一种搜索维度进行保存,相应的,上述本地缓存中的缓存结果可以按照上述搜索维度进行保存。此时,搜索服务器可以通过下述方式获取目标关键词对应的搜索结果:先根据目标搜索请求中携带的目标搜索类型、目标版本信息和/或请求页数等确定目标搜索维度,然后从本地缓存中查询匹配于目标搜索维度的搜索结果,并将该结果作为目标关键词对应的目标搜索结果。此时,搜索服务器的本地缓存中保存的任一被搜索结果均按照目标搜索类型、目标版本信息和/或请求页数等至少一个维度进行保存,从而搜索服务器通过匹配上述目标搜索维度确定相应的目标搜索结果,有助于提升目标搜索结果的准确性。其中,上述版本信息可以包括发送目标搜索请求的客户端所在终端设备的设备型号、客户端应用程序的程序类型、程序的版本号等,本公开实施例并不对此进行限制。此时,因为缓存结果被按照上述版本信息保存在本地缓存中,所以搜索服务器响应于接收到的目标搜索请求时,可以按照该版本信息确定对应于终端设备中特定应用程序的搜索结果,从而保证在新版本应用程序实现数据特效的同时,避免老版本数据对于新版本应用程序所对应搜索结果的存储空间的占用。
根据本公开的实施例,针对待搜索的目标对象,搜索服务器首先向第一搜索设备(如上述搜索服务器)发起第一搜索请求,并对其返回的第一搜索结果进行判断:若第一搜索设备未返回正常搜索结果,则向关联至第一搜索设备的第二搜索设备和缓存设备分别发起第二搜索请求并接收二者分别返回的搜索结果,进而根据接收到的搜索结果确定对应于目标对象的目标搜索结果。可见,本方案在设置缓存设备的同时,还设置第二搜索设备,从而在第一搜索设备未返回正常搜索结果的情况下,搜索服务器并不会直接向用户返回空白页或报错,而是同时向第二搜索设备和缓存设备分别发起第二搜索请求,并根据二者返回的搜索结果共同确定目标搜索结果以返回至用户。使得用户接收到的搜索结果能够尽可能的最新(因为第二搜索设备的搜索结果也是实时的),并降低了用户无法获取搜索结果的概率,从而有助于提升用户的搜索体验。
本公开实施例还提出一种搜索***。下面结合图3对本公开实施例所述的搜索***的结构进行说明。
如图3所示,搜索***可以包括搜索服务器301、搜索降级服务器302和缓存设备303,其中,上述三者可以同属于***的API层,用于由开发人员或管理人员等对三者设置相关参数或进行相应配置。其中,搜索降级服务器302用于在接收到搜索服务器301发送的针对所述目标搜索请求的第二搜索请求的情况下调用缓存设备303,获取针对目标对象的目标搜索结果并返回至搜索服务器301。而缓存设备203用于保存由开发人员或管理人员预设的关键词表对应的缓存结果。
该搜索***还包括第一搜索设备304和第二搜索设备305,其中,第一搜索设备用于通过全量化的索引服务实现对第一搜索请求的响应,而第二搜索设备用于通过轻量化的索引服务实现对第一搜索请求的响应,上述“轻量化”,即第二搜索设备305可调用的底层服务相对于所述第一搜索设备更少。
该搜索***还可以包括消息队列306和数据备份服务器307,该数据备份服务器307可以包括构成分布式存储集群的多个存储服务器,如可以为Redis、Mysql以及phxsql等分布式存储及其对应的存储服务器。响应的,上述消息队列306可以为kafka等消息系列,不再赘述。
图4本说明书一示例性实施例示出的另一种搜索方法的流程图,如图3所示,该方法应用于搜索服务器。下面结合图4对本公开实施例所述方法对应的目标搜索请求的响应过程进行详细说明,该过程可以包括下述步骤401-416。
步骤401,接收客户端或代理服务器发送的目标搜索请求。
搜索服务器可以接收针对网络内容的目标搜索请求,该请求可以由客户端等请求发起方直接发送至搜索服务器。或者,为避免客户端直接向搜索服务器发送请求可能带来的负荷过载,也可以由客户端将目标搜索请求发送至代理服务器,并由代理服务器将目标搜索服务器发送至搜索服务器,该代理服务器可以对接收到的搜索请求进行限流、风控等管理,不再赘述。因此,搜索服务器所接收的目标搜索请求的直接发送方(下称请求方)可以为客户端或者代理服务器,相应的,搜索服务器在响应该请求获取到相应的目标搜索结果后,可以将该目标搜索结果返回至该请求方,从而实现对目标搜索请求的有效响应。
当然,搜索服务器接收到的多个搜索请求中,可以均来自客户端、均来自代理服务器,或者一部分来自客户端另一部分来自代理服务器,本公开实施例并不对此进行限制,本公开实施例仅对其中任一搜索过程进行说明,该任一搜索请求即为本公开实施例中的所述目标搜索请求,特此说明。
步骤402,从目标搜索请求中提取目标搜索规则。
搜索服务器接收到的目标搜索请求中,可以包含目标搜索规则,用于向搜索服务器指示客户端想要获取的目标搜索结果。该目标搜索规则可以包括:搜索类型,如文字搜索、语音搜索、图片搜索等;还可以包括搜索关键词,如用户在客户端的搜索框中输入的文字、在语音搜索界面中输入的语音片段、在图片搜索界面(对应于以图搜图功能)中输入的待搜索图片等;还可以包括结果页数,如客户端或代理服务器指定的需要获取的搜索结果的页数(用于表征结果的数量),搜索结果的发布时间区间,发布平台,发布方等,本公开实施例并不对此进行限制。通过该方式,搜索服务器能够准确判定第一搜索设备返回的搜索结果是否为正常结果。
步骤403,判断本地缓存中是否存在匹配于目标搜索规则的搜索结果。
搜索服务器本地或者其所连接的搜索降级服务器中可以维护包含多个关键词的关键词表,该关键词可以是在直播活动、促销活动、秒杀活动、晚会、热搜等多种活动或事件发生之前预测的搜索关键词。相应的,本地缓存中可以保存关键词表中所记录关键词的搜索结果,该搜索结果可以为活动或事件开始前预先搜索得到或编辑完成的结果,也可以活动开始后或活动过程中搜索服务器接收到的与活动相关的关键词对应的首个搜索请求的搜索结果,本公开实施例并不对此进行限制。通过该方式,可以保证在活动前即将活动相关的关键词对应的搜索结果缓存在本地,从而在接收到针对该的关键词的目标搜素请求后,可以直接将本地缓存的搜索结果返回至请求方,大大减少等待搜索结果的时间,避免用户长时间等待搜索结果。
需要说明的是,上述目标搜索规则中还可以包括目标版本信息,该目标版本信息可以包括发送目标搜索请求的客户端所在终端设备的设备型号、客户端应用程序的程序类型、程序的版本号等,本公开实施例并不对此进行限制。相应的,搜索服务器的本地缓存中保存的任一被搜索结果可以按照目标搜索类型、目标版本信息和/或请求页数等至少一个搜索维度进行保存,从而搜索服务器可以通过匹配上述目标搜索规则确定相应的目标搜索结果,有助于提升目标搜索结果的准确性。
当然,目标搜索请求中所包含的目标搜索规则可能被保存在关键词表中(如该目标搜索规则对应的关键词活动关键词等),也可能并未包含在关键词表中,所以搜索服务器可以判断关键词表中是否包含目标搜索规则,以判断本地缓存中是否存在匹配于目标搜索规则的搜索结果,当然,也可以在关键词表中包含目标搜索规则的情况下,进一步在本地缓存中查找匹配于目标搜索规则的搜索结果,而在关键词表中不包含目标搜索规则的情况下,则直接判断本地缓存中不存在匹配于目标搜索规则的目标搜索结果。相应的,在本地缓存中存在上述搜索结果的情况下,可以转入步骤404,否则,在本地缓存中存在上述搜索结果的情况下,可以转入步骤406。需要说明的是,可以在目标搜索规则中的各个参数均匹配于本地缓存中某一搜索结果对应的搜索规则的情况下,判定该搜索结果匹配于目标搜索规则,以保证搜索结果确定的准确性。
步骤404,获取本地缓存中匹配于目标搜索规则的搜索结果。
步骤405,将从本地缓存中获取到的搜索结果返回至请求方。
此时,本地缓存中存在匹配于目标搜索规则的搜索结果,因此,可以将该搜索结果作为目标搜索结果返回至请求方,以实现对目标搜索请求的有效响应。
步骤406,向第一搜索设备发送包含目标搜索规则的第一搜索请求。
在本地缓存中不存在匹配于目标搜索规则的搜索结果的情况下,搜索服务器可以根据目标搜索规则向第一搜索设备发起第一搜索请求,该请求中还可以包括搜索服务器与第一搜索设备通信的相关参数、数据校验参数等,本公开实施例并不对此进行限制。
第一搜索设备可以通过调用下游的存储服务、数据关系服务等底层服务提供全量的索引服务,从而可以在接收到搜索服务器发送的针对目标搜索请求目标搜索请求的第一搜索请求后,通过上述索引服务确定针对目标搜索请求的搜索结果。例如,上述索引服务可以通过网络爬虫的方式爬取网站、数据库等网络空间中的网络资源,并从爬取得到的网络资源中确定对应于目标搜索请求的目标搜索结果。
步骤407,判断是否在预设时长内接收到第一搜索设备返回的正常搜索结果。
搜索服务器可以为上述第一搜索请求设置有效响应时长,如100ms、500ms等,并将第一搜索设备在该有效响应时长内返回的数据作为搜索结果。相应的,第一搜索设备可以在获取到针对第一搜索请求的搜索结果后将其返回至搜索服务器,但是,在第一搜索设备所依赖的底层服务故障或第一搜索设备当前业务压力较大从而导致相搜索服务器返回上述异常搜索结果的情况下,该异常搜索结果往往并不完整。从而,若搜索服务器在预设时长(即上述有效响应时长)内并未接收到第一搜索设备返回的搜索结果,即第一搜索设备返回的搜索结果超时,则可以判定第一搜索设备未返回正常搜索结果。或者,搜索服务器在预设时长内接收到第一搜索设备返回的搜索结果的情况下,也可以对其进行检查,进而确定该搜索结果是否正常:在该搜索结果为异常搜索结果的情况下,可以判定第一搜索设备未返回正常搜索结果。
搜索服务器可以通过多种方式判断第一搜索设备返回的搜索结果是否为正常搜索结果。作为一示例性实施例,第一搜索设备返回的第一搜索结果中可以包含预设的数据异常字段,并由第一搜索设备在确定第一搜索结果是否为正常结果(可以根据第一搜索结果是否匹配于前述的搜索规则进行确定)之后,将该字段的字段取值设置为与确定结果相对应的预设值,以由该数据异常字段的字段取值表征第一搜索结果是否为正常结果。相应的,搜索服务器可以在接收到第一搜索结果后提取上述字段取值,并在该字段取值为第一值的情况下,判定第一搜索结果为异常搜索结果,否则,可以判定上述搜索结果为正常搜索结果。例如,上述字段取值code对应的第一值可以为零,此时可以在字段取值code=0的情况下,判定搜索结果为异常搜索结果,相应的,可以在字段取值code≠0的情况下,判定上述搜索结果为异常结果。从而通过上述字段取值清楚明了的表征第一搜索结果是否正常。另外,为便于故障定位,还可以预先设置不同异常搜索结果分别对应的字段取值code的不同取值。例如,搜索服务器可以在code=1的情况下,判定第一搜索设备的所依赖的数据存储服务故障,在code=2的情况下,判定第一搜索设备的所依赖的数据关系服务故障等,不再赘述。
作为另一示例性实施例,搜索服务器和第一搜索设备可以预先协商搜索结果对应的数据规则,从而第一搜索设备在获取搜索数据后,根据该数据规则生成搜索结果,而搜索服务器可以通过检测第一搜索设备返回的搜索结果是否符合预设的数据规则,判断该搜索结果是否为异常结果:若符合,则可以判定搜索结果为正常搜索结果,若不符合,则可以判定搜索结果为异常搜索结果。其中,上述数据规则可以包括数据量、数据页数、数据卡类型、数据排列顺序等,本公开实施例并不对此进行限制。通过该方式,由搜索服务器通过预设的数据规则判断搜索结果正常与否,有助于简化第一搜索设备的处理逻辑,即第一搜索设备只获取所述数据并生成搜索结果即可。
在接收到第一搜索设备返回的正常搜索结果的情况下,搜索服务器可以转入步骤408,否则,在未接收到第一搜索设备返回的正常搜索结果的情况下,搜索服务器可以转入步骤410。
步骤408,将正常搜索结果保存在数据备份设备中。
在第一搜索设备返回的搜索结果为正常搜索结果的情况下,搜索服务器可以将该正常搜索结果发送至数据备份设备,作为新的历史搜索结果或用于更新已有的所述历史搜索结果。其中,数据备份设备中的搜索历史搜索结果可以按照上述目标搜索规则所包含多个参数对应的多个维度继续保存,从而数据备份设备可以在检查本地是否保存有目标搜索规则对应的历史搜索结果:若保存有该历史搜索结果,该历史搜索结果可能已经过期或并非最新,因此可以使用上述正常搜索结果更新(或称替换)本地以保存的上述历史搜索结果,以保证数据备份设备中时刻保存最新的搜索结果。
当然,为减少不必要的更新操作,数据备份设备可以先检查接收到的正常搜索结果与本地保存的历史搜索结果是否相同,并在二者不同的情况下才进行更新。反之,若本地未保存上述目标搜索规则对应的历史搜索结果,则可以以该目标搜索规则所包含多个参数对应的多个维度保存上述最新搜索结果,从而保证数据备份设备中所保存搜索结果的全面性,实现搜索结果的扩充。
步骤409,将正常搜索结果返回至请求方。
在第一搜索设备返回的搜索结果为正常搜索结果的情况下,搜索服务器也可以将该正常搜索结果返回至上述请求方,从而实现对目标搜索请求的有效响应。
本实施例中,作为一示例性实施方式,可以先执行步骤408(备份正常搜索结果),再执行步骤409(向请求方返回正常搜索结果);或者,作为另一示例性实施方式,也可以先执行步骤409再执行步骤408。换言之,“备份正常搜索结果”与“向请求方返回正常搜索结果”并不存在必然的先后顺序,可以根据实际情况进行调整。
步骤410,向第二搜索设备和缓存设备发起包含目标搜索规则的第二搜索请求。
在第一搜索设备本身故障(未返回任何结果)或者第一搜索设备所依赖的底层服务故障(返回不完整的搜索结果)的情况下,第一搜索设备无法返回正常搜索结果,所以作为针对第一搜索设备故障的弥补措施,此时搜索服务器可以向第二搜索设备和缓存设备分别发起第二搜索请求,以根据二者返回的搜索结果确定目标搜索结果。其中,搜索服务器可以生成包含上述目标搜索规则的第二搜索请求,当然,该第二搜索请求实际上有两个,发送至第二搜索设备的第二搜索请求中还可以包括搜索服务器与第二搜索设备通信的通信参数或者其他必要的校验参数(如token)等,发送至缓存设备的第二搜索请求中还可以包括搜索服务器与缓存设备通信的通信参数或者其他必要的校验参数等,不再赘述。
第二搜索设备和缓存设备接收到上述第二搜索请求后,可以根据其中包含的目标搜索规则获取搜索结果。其中,第二搜索设备获取搜索结果的具体过程与第一搜索设备类似,例如可以通过网络爬虫实现,当然,因为第二搜索设备实现的索引服务相对于第一搜索设备更加轻量化,所以其获取到的搜索结果可能较为简洁,但其中任一信息仍然应当是完整信息。而缓存设备可以从自身保存的第一搜索设备的历史搜索信息(对应于步骤408的备份过程)中,查询是否存在匹配于目标搜索规则的搜索结果。与前述步骤404类似的,缓存设备查询搜索结果的过程也是查询多维数据的过程,不再赘述。
上述第二搜索设备和缓存设备的获取各自的搜索结果的过程中,同样可能存在故障,如第二搜索设备本身或者其所依赖的底层服务可能存在故障,缓存设备可能查询失败等,因此第二搜索设备和缓存设备所返回的搜索结果可能出现多种情况。
步骤411,接收到第二搜索设备或缓存设备返回的一份搜索结果。
步骤412,将接收到的一份搜索结果返回至请求方。
若搜索服务器仅接收到第二搜索设备返回的第二搜索结果而未接收到缓存设备返回的缓存结果,或者仅接收到缓存设备返回的缓存结果而未接收到第二搜索设备返回的第二搜索结果,则此时搜索服务器可以将其接收到的第二搜索结果或者缓存结果返回至上述请求方,从而实现对目标搜索请求的有效响应。
步骤413,接收到第二搜索设备和缓存设备返回的两份搜索结果。
步骤414,判断第二搜索设备返回的第二搜索结果是否为正常搜索结果。
若搜索服务器在预设时长内接收到第二搜索设备返回的第二搜索结果以及缓存设备返回的缓存结果,则搜索服务器可以进一步判断第二搜索设备返回的第二搜索结果是否为正常搜索结果。其中,因为第二搜索设备获取及生成搜索结果的过程与第一搜索设备相同,所以针对第二搜索设备返回的第二搜索结果的判断过程,可以参见前述步骤407中记载的故障标记或预设规则的具体方式;而针对缓存设备返回的缓存结果的判断过程,则可以参见前述步骤407中记载的预设规则的具体方式,此处均不再赘述。
判断完成后,若第二搜索结果为正常搜索结果,则可以转入步骤415,否则,若第二搜索结果为异常搜索结果,则可以转入步骤416。
步骤415,将第二搜索设备返回的第二搜索结果返回至请求方。
此时可以将第二搜索设备返回的第二搜索结果返回至请求方,从而实现对目标搜索请求的有效响应。此时,向请求方返回的搜索结果虽然不是信息充分且全面的最佳搜索结果,但仍然能够携带完整的结果信息,从而保证了在第一搜索设备(或其低层服务)故障情况下较佳响应。
步骤416,将缓存设备返回的缓存结果返回至请求方。
此时可以将缓存设备返回的缓存结果返回至请求方,从而实现对目标搜索请求的有效响应。此时,向请求方返回的搜索结果虽然不是时效性最好的最佳搜索结果,但仍然能够保证信息的完整性和真实性,同样保证了在第一搜索设备(或其低层服务)故障情况下较佳响应。
通过上述实施例,在第一搜索设备故障的情况下,不至于直接向发起方返回空白页或报错,而向目标搜索请求的发起方返回完整有效的搜索结果;而在第一搜索设备所依赖的底层服务故障的情况下,能够使用缓存设备提供的历史搜索结果作为针对目标搜索,从而实现了对索引服务器故障的有效兜底,提升了针对目标搜索效果,有效提升了用户的搜索体验。
与前述搜索方法的实施例相对应地,本公开还提出了搜索装置的实施例。
图5是根据本公开的实施例示出的一种搜索装置的示意框图。本实施例所示的搜索装置可以适用于内容搜索应用,所述应用搜索服务器,该搜索服务器可以为包含一独立主机的物理服务器、主机集群承载的虚拟服务器、云服务器等。相应的客户端可以运行于终端,所述终端包括但不限于手机、平板电脑、可穿戴设备、个人计算机等电子设备。所述内容搜索应用可以是安装在终端中的应用程序,也可以是集成在浏览器中的网页版应用,用户可以通过内容搜索应用搜索网络内容,其中,所述网络内容可以为视频、图片、音频、文本等内容,当然也可以为其他可通过网络传输的内容,本公开实施例并不对此进行限制。
如图5所示,所述搜索装置可以包括:
第一搜索请求单元501,被配置为向第一搜索设备发起针对目标对象的第一搜索请求;
第二搜索请求单元502,被配置为在所述第一搜索设备未返回正常搜索结果的情况下,向关联至所述第一搜索设备的第二搜索设备和缓存设备分别发起第二搜索请求;
结果确定单元503,被配置为在接收到所述第二搜索设备和所述缓存设备响应于所述第二搜索请求分别返回的搜索结果的情况下,根据所述搜索结果确定对应于所述目标对象的目标搜索结果。
可选的,所述第二搜索请求单元502还被配置为:
在有效响应时长内未接收到所述第一搜索设备返回的搜索结果,或者在有效响应时长内接收到所述第一搜索设备返回的异常搜索结果,则确定所述第一搜索设备未返回正常搜索结果。
可选的,所述第二搜索请求单元502还被配置为:
在所述第一搜索设备返回的第一搜索结果中所包含的数据异常字段的字段取值为第一值的情况下,确定所述第一搜索结果为异常搜索结果;或者,
在所述第一搜索设备返回的第一搜索结果不符合预设数据规则的情况下,确定所述第一搜索结果为异常搜索结果。
可选的,所述搜索结果包括所述第二搜索设备返回的第二搜索结果和所述缓存设备返回的缓存结果,所述结果确定单元503还被配置为:
在所述第二搜索结果为正常搜索结果的情况下,将所述第二搜索结果确定为对应于所述目标对象的目标搜索结果;
在所述第二搜索结果为正常搜索结果或随机搜索结果的情况下,将所述缓存结果确定为对应于所述目标对象的目标搜索结果。
可选的,所述结果确定单元503还被配置为:
对于所述搜索结果中包含的各个搜索数据,依次确定所述各个搜索数据与所述目标对象之间的匹配程度;
按照所述匹配程度对所述各个搜索数据进行排序,并将排序后的搜索数据确定为对应于所述目标对象的目标搜索结果。
可选的,所述装置还包括:
配置确定单元504,被配置为在发起所述第一搜索请求之前,若参数配置字段的取值被设置为第二值,则向所述缓存设备发起所述第一搜索请求,并将所述缓存设备返回的缓存结果作为对应于所述目标对象的目标搜索结果;或者,
类型确定单元505,被配置为在发起所述第一搜索请求之前,在所述目标对象包含在接收到的目标搜索请求中的情况下,确定所述目标搜索请求的目标搜索类型,向所述第二搜索设备和所述缓存设备中匹配于所述目标搜索类型的设备发起所述第一搜索请求,并将该设备返回的搜索结果作为对应于所述目标对象的目标搜索结果。
可选的,所述目标对象为目标关键词,本地维护有包含关键词的关键词表,且本地缓存中保存有所述关键词对应的缓存结果;所述装置还包括:
缓存确定单元506,被配置为在所述关键词表中记录有所述目标关键词的情况下,从所述本地缓存中获取所述目标关键词对应的缓存结果,并将该缓存结果作为对应于所述目标对象的目标搜索结果。
可选的,还包括:
第一缓存单元507,被配置为若所述关键词表中不包含所述目标关键词,则在所述关键词表中记录所述目标关键词,并将所述目标搜索结果作为所述目标关键词对应的缓存结果保存在所述本地缓存中。
可选的,所述目标对象包含在接收到的目标搜索请求中,所述本地缓存中的缓存结果被按照至少一种搜索维度保存,所述缓存确定单元506还被配置为:
根据所述目标搜索请求携带的目标搜索类型、目标版本信息和/或请求页数确定目标搜索维度;
从所述本地缓存中查询匹配于所述目标搜索维度的搜索结果作为所述目标关键词对应的目标搜索结果。
可选的,还包括:
第二缓存单元508,被配置为在第一搜索设备返回正常搜索结果的情况下,将所述正常搜索结果发送至所述缓存设备,以作为所述目标对象的最新搜索结果。
可选的,所述第二缓存单元还被配置为:
通过消息队列将所述正常搜索结果异步发送至所述缓存设备。
可选的,所述缓存设备包括构成分布式存储集群的多个存储服务器。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开的实施例还提出一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一实施例所述的搜索方法。
本公开的实施例还提出一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一实施例所述的搜索方法。
图6是根据本公开的实施例示出的一种电子设备的示意框图。例如,电子设备600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件618。
处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述搜索方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在电子设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为电子设备600的各种组件提供电力。电源组件606可以包括电源管理***,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
多媒体组件608包括在电子设备600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当电子设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件618发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如,传感器组件614可以检测到电子设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
图像采集组件616可以用于采集被摄对象的图像数据,以形成关于被摄对象的图像,并可以对该图像进行必要的处理。该图像采集组件616可以包括相机模组,相机模组中的图像传感器(Sensor)通过镜头感应来自被摄对象的光线,将得到的感光数据提供给图像信号处理器(ISP,Image Signal Processing),由后者根据感光数据生成对应于被摄对象的图像。其中,上述图像传感器可以为CMOS传感器或CCD传感器,当然,也可以为红外传感器、深度传感器等;相机模组可以内置在电子设备600中,也可以为电子设备600的外接模组;上述ISP可以内置在相机模组中,也可以外挂在上述电子设备中(不在相机模组内)。
通信组件618被配置为便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件618经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件618还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在本公开一实施例中,电子设备600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述搜索方法。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序和/或指令,所述计算机程序和/或指令被处理器执行时实现上述搜索方法。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
需要说明的是,在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本公开实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
Claims (10)
1.一种搜索方法,其特征在于,包括:
向第一搜索设备发起针对目标对象的第一搜索请求;
在所述第一搜索设备未返回正常搜索结果的情况下,向关联至所述第一搜索设备的第二搜索设备和缓存设备分别发起第二搜索请求;
在接收到所述第二搜索设备和所述缓存设备响应于所述第二搜索请求分别返回的搜索结果的情况下,根据所述搜索结果确定对应于所述目标对象的目标搜索结果。
2.根据权利要求1所述的方法,其特征在于,确定所述第一搜索设备未返回正常搜索结果,包括:
在有效响应时长内未接收到所述第一搜索设备返回的搜索结果,或者在有效响应时长内接收到所述第一搜索设备返回的异常搜索结果,则确定所述第一搜索设备未返回正常搜索结果。
3.根据权利要求2所述的方法,其特征在于,确定所述第一搜索设备返回异常搜索结果,包括:
在所述第一搜索设备返回的第一搜索结果中所包含的数据异常字段的字段取值为第一值的情况下,确定所述第一搜索结果为异常搜索结果;或者,
在所述第一搜索设备返回的第一搜索结果不符合预设数据规则的情况下,确定所述第一搜索结果为异常搜索结果。
4.根据权利要求1所述的方法,其特征在于,所述搜索结果包括所述第二搜索设备返回的第二搜索结果和所述缓存设备返回的缓存结果,所述根据所述搜索结果确定对应于所述目标对象的目标搜索结果,包括:
在所述第二搜索结果为正常搜索结果的情况下,将所述第二搜索结果确定为对应于所述目标对象的目标搜索结果;
在所述第二搜索结果为正常搜索结果或随机搜索结果的情况下,将所述缓存结果确定为对应于所述目标对象的目标搜索结果。
5.根据权利要求1所述的方法,其特征在于,所述根据所述搜索结果确定对应于所述目标对象的目标搜索结果,包括:
对于所述搜索结果中包含的各个搜索数据,依次确定所述各个搜索数据与所述目标对象之间的匹配程度;
按照所述匹配程度对所述各个搜索数据进行排序,并将排序后的搜索数据确定为对应于所述目标对象的目标搜索结果。
6.根据权利要求1所述的方法,其特征在于,在发起所述第一搜索请求之前,所述方法还包括:
若参数配置字段的取值被设置为第二值,则向所述缓存设备发起所述第一搜索请求,并将所述缓存设备返回的缓存结果作为对应于所述目标对象的目标搜索结果;或者,
在所述目标对象包含在接收到的目标搜索请求中的情况下,确定所述目标搜索请求的目标搜索类型,向所述第二搜索设备和所述缓存设备中匹配于所述目标搜索类型的设备发起所述第一搜索请求,并将该设备返回的搜索结果作为对应于所述目标对象的目标搜索结果。
7.一种搜索装置,其特征在于,包括:
第一搜索请求单元,被配置为向第一搜索设备发起针对目标对象的第一搜索请求;
第二搜索请求单元,被配置为在所述第一搜索设备未返回正常搜索结果的情况下,向关联至所述第一搜索设备的第二搜索设备和缓存设备分别发起第二搜索请求;
结果确定单元,被配置为在接收到所述第二搜索设备和所述缓存设备响应于所述第二搜索请求分别返回的搜索结果的情况下,根据所述搜索结果确定对应于所述目标对象的目标搜索结果。
8.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的搜索方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至6中任一项所述的搜索方法。
10.一种计算机程序产品,包括计算机程序和/或指令,其特征在于,所述计算机程序和/或指令被处理器执行时实现权利要求1至6中任一项所述的搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110468415.1A CN113158002A (zh) | 2021-04-28 | 2021-04-28 | 搜索方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110468415.1A CN113158002A (zh) | 2021-04-28 | 2021-04-28 | 搜索方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113158002A true CN113158002A (zh) | 2021-07-23 |
Family
ID=76872015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110468415.1A Pending CN113158002A (zh) | 2021-04-28 | 2021-04-28 | 搜索方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113158002A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567395A (zh) * | 2010-12-30 | 2012-07-11 | 百度在线网络技术(北京)有限公司 | 一种签名服务器及其控制方法 |
CN104794228A (zh) * | 2015-04-30 | 2015-07-22 | 北京奇艺世纪科技有限公司 | 一种搜索结果提供方法及装置 |
US20150254303A1 (en) * | 2014-03-10 | 2015-09-10 | Here Global B.V | Methods, Apparatuses and Computer Program Products for Performing Index Search Optimization |
CN104917851A (zh) * | 2015-05-08 | 2015-09-16 | 亚信科技(南京)有限公司 | 信息处理方法及dns缓存服务器 |
CN106202581A (zh) * | 2016-08-30 | 2016-12-07 | 北京奇艺世纪科技有限公司 | 一种数据搜索方法及装置 |
CN108804434A (zh) * | 2017-04-26 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 一种消息查询方法、服务器及终端设备 |
CN108846121A (zh) * | 2018-06-27 | 2018-11-20 | 中国建设银行股份有限公司 | 一种数据搜索方法和装置 |
CN109905459A (zh) * | 2019-01-16 | 2019-06-18 | 平安科技(深圳)有限公司 | 一种数据传输方法及装置 |
CN110147368A (zh) * | 2017-11-27 | 2019-08-20 | 北京京东尚科信息技术有限公司 | 用于服务器的数据获取方法和装置 |
US20200334305A1 (en) * | 2019-04-16 | 2020-10-22 | International Business Machines Corporation | Managing search queries of a search service |
CN112052367A (zh) * | 2020-07-23 | 2020-12-08 | 北京三快在线科技有限公司 | 一种搜索方法、装置、电子设备及存储介质 |
-
2021
- 2021-04-28 CN CN202110468415.1A patent/CN113158002A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567395A (zh) * | 2010-12-30 | 2012-07-11 | 百度在线网络技术(北京)有限公司 | 一种签名服务器及其控制方法 |
US20150254303A1 (en) * | 2014-03-10 | 2015-09-10 | Here Global B.V | Methods, Apparatuses and Computer Program Products for Performing Index Search Optimization |
CN104794228A (zh) * | 2015-04-30 | 2015-07-22 | 北京奇艺世纪科技有限公司 | 一种搜索结果提供方法及装置 |
CN104917851A (zh) * | 2015-05-08 | 2015-09-16 | 亚信科技(南京)有限公司 | 信息处理方法及dns缓存服务器 |
CN106202581A (zh) * | 2016-08-30 | 2016-12-07 | 北京奇艺世纪科技有限公司 | 一种数据搜索方法及装置 |
CN108804434A (zh) * | 2017-04-26 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 一种消息查询方法、服务器及终端设备 |
CN110147368A (zh) * | 2017-11-27 | 2019-08-20 | 北京京东尚科信息技术有限公司 | 用于服务器的数据获取方法和装置 |
CN108846121A (zh) * | 2018-06-27 | 2018-11-20 | 中国建设银行股份有限公司 | 一种数据搜索方法和装置 |
CN109905459A (zh) * | 2019-01-16 | 2019-06-18 | 平安科技(深圳)有限公司 | 一种数据传输方法及装置 |
US20200334305A1 (en) * | 2019-04-16 | 2020-10-22 | International Business Machines Corporation | Managing search queries of a search service |
CN112052367A (zh) * | 2020-07-23 | 2020-12-08 | 北京三快在线科技有限公司 | 一种搜索方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2011261662B2 (en) | Providing content items selected based on context | |
CN112131410A (zh) | 多媒体资源展示方法、装置、***和存储介质 | |
CN112711723B (zh) | 一种恶意网址检测方法、装置及电子设备 | |
CN108874827B (zh) | 一种搜索方法及相关装置 | |
CN112131466A (zh) | 群组展示方法、装置、***和存储介质 | |
CN112784142A (zh) | 一种信息推荐方法及装置 | |
CN112528185A (zh) | 评论信息展示方法、装置、服务器、终端 | |
US20160006787A1 (en) | Methods and devices for visiting a webpage | |
CN111695064B (zh) | 一种埋点加载方法及装置 | |
CN117453933A (zh) | 一种多媒体数据推荐方法、装置、电子设备及存储介质 | |
CN116541591A (zh) | 一种信息处理方法、装置、电子设备及存储介质 | |
CN111221862A (zh) | 一种请求处理方法及装置 | |
CN113268179B (zh) | 会话消息处理方法、装置、设备及存储介质 | |
CN113158002A (zh) | 搜索方法、装置、电子设备和存储介质 | |
CN111984864B (zh) | 对象推荐方法、装置、电子设备和存储介质 | |
CN110020206B (zh) | 一种搜索结果排序方法及装置 | |
CN111241134B (zh) | 一种数据处理方法及装置 | |
CN111666485B (zh) | 一种信息推荐方法、装置及终端 | |
CN109766501B (zh) | 爬虫协议管理方法及装置、爬虫*** | |
CN113378022A (zh) | 一种站内搜索平台、搜索方法和相关装置 | |
CN113704315B (zh) | 一种用户推荐方法、装置、电子设备及存储介质 | |
CN111625536B (zh) | 一种数据访问方法及装置 | |
CN113836389B (zh) | 内容推荐方法及装置 | |
CN113923254B (zh) | 一种确定设备的连接状态的方法、装置、电子设备及介质 | |
CN110457547B (zh) | 搜索词推荐和展示方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |