一种搜索方法和相关装置与流程

未命名 08-14 阅读:94 评论:0


1.本技术涉及数据处理领域,特别是涉及一种搜索方法和相关装置。


背景技术:

2.为了提升通过账号进行内容搜索的准确性,越来越多的搜索引擎系统会在内容搜索中引入与该账号的内容交互行为相关的关联内容。
3.在搜索结果召回与排序时,对和内容交互行为对应的关联内容进行排序权重提升,以提升这些内容的显示排序,从而可将该内容显示在搜索结果的优先展示位置。
4.然而,相关技术在内容搜索中引入内容交互行为时,往往都会严重增加搜索耗时,影响搜索效率。


技术实现要素:

5.为了解决上述技术问题,本技术提供了一种搜索方法和相关装置,有效缩短了整个搜索系统的处理耗时,提升了搜索质量。
6.本技术实施例公开了如下技术方案:一方面,本技术实施例提供了一种搜索方法,所述方法包括:获取目标账号发送的搜索请求,所述搜索请求用于请求在目标业务范围内对关键词进行搜索;根据所述搜索请求在聚合缓存中存储所述目标业务范围内与所述目标账号具有交互关系的历史关联内容,并根据所述关键词分别发起在所述目标业务范围内的垂直搜索和关联搜索;生成针对所述历史关联内容的内容提取请求,通过所述内容提取请求从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容;在所述历史关联内容中确定与所述关键词对应的关联搜索结果;结合所述关联搜索结果和通过所述垂直搜索得到的垂直搜索结果,确定对应所述搜索请求的综合搜索结果。
7.另一方面,本技术实施例提供了一种搜索装置,所述装置包括获取单元、存储和搜索单元、生成单元和确定单元:所述获取单元,用于获取目标账号发送的搜索请求,所述搜索请求用于请求在目标业务范围内对关键词进行搜索;所述存储和搜索单元,用于根据所述搜索请求在聚合缓存中存储所述目标业务范围内与所述目标账号具有交互关系的历史关联内容,并根据所述关键词分别发起在所述目标业务范围内的垂直搜索和关联搜索;所述生成单元,用于生成针对所述历史关联内容的内容提取请求,通过所述内容提取请求从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容;所述确定单元,用于在所述历史关联内容中确定与所述关键词对应的关联搜索结
果;所述确定单元还用于结合所述关联搜索结果和通过所述垂直搜索得到的垂直搜索结果,确定对应所述搜索请求的综合搜索结果。
8.另一方面,本技术实施例提供了一种计算机设备,所述计算机设备包括处理器以及存储器:所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;所述处理器用于根据所述计算机程序执行以上方面所述的方法。
9.另一方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序在被计算机设备执行时实现执行以上方面所述的方法。
10.另一方面,本技术实施例提供了一种包括计算机程序的计算机程序产品,当其在计算机设备上运行时,使得所述计算机设备执行以上方面所述的方法。
11.由上述技术方案可以看出,当用户需要通过关键词在目标业务范围内进行搜索时,可以通过目标账号生成对应的搜索请求。为了在搜索结果中引入与该目标账号具有交互关系的内容,又不显著提升搜索耗时,可以无需等待搜索前对关键词的处理,即在理解关键词之前,就根据该搜索请求预先拉取相关的历史关联内容存储在聚合缓存中,并根据该关键词分别发起针对目标业务范围的垂直搜索和关联搜索。通过垂直搜索可以从目标业务范围中获取与关键词相关的垂直搜索结果,通过关联搜索,可基于生成的内容提取请求,从聚合缓存中获取已预先拉取的历史关联内容,并基于关键词从历史关联内容中确定出关联搜索结果。可见,在内容搜索中引入内容交互行为时,将与目标账号有交互关系的关联搜索部分从常规的垂直搜索部分独立出来,无需等待对关键词的处理或者垂直搜索的召回结果,就可以预先完成对历史关联内容的拉取,实现了关联搜索与垂直搜索的并行处理,有效缩短了整个搜索系统的处理耗时,而且最终的综合搜索结果是基于关联搜索结果和垂直搜索结果得到的,也能控制关联搜索结果中的内容出现在综合搜索结果中的可能性,有效提升了搜索质量。
附图说明
12.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
13.图1为本技术实施例提供的一种搜索场景的示意图;图2为本技术实施例提供的一种搜索方法的方法流程图;图3a为相关技术的搜索示意图之一;图3b为相关技术的搜索示意图之二;图3c为相关技术的搜索示意图之三;图4为本技术实施例提供的一种包括多个目标业务范围的搜索场景的示意图;图5为本技术实施例提供的基于同质请求针对聚合缓存的锁机制示意图之一;图6为本技术实施例提供的基于同质请求针对聚合缓存的锁机制示意图之二;
图7为本技术实施例提供的一种涉及关联搜索的搜索方法示意图;图8为本技术实施例一种搜索装置的装置结构图;图9为本技术实施例提供的一种终端设备的结构图;图10为本技术实施例提供的一种服务器的结构图。
具体实施方式
14.下面结合附图,对本技术的实施例进行描述。
15.越来越多的搜索引擎系统会在内容搜索中引入与该账号的内容交互行为相关的关联内容,以期提升搜索质量。然而,相关技术在内容搜索中引入内容交互行为时,往往都会严重增加搜索耗时,影响搜索效率。
16.为此,本技术实施例提供了一种搜索方法,有效缩短了整个搜索系统的处理耗时,而且也能控制关联搜索结果中的内容出现在综合搜索结果中的可能性,有效提升了搜索质量。
17.本技术实施例所提供的搜索方法可以通过计算机设备实施,该计算机设备可以是终端设备或服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
18.可以理解的是,在本技术的具体实施方式中,涉及到与用户账号的历史交互行为相关的内容等数据,当本技术以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
19.而且,本技术中相关数据收集处理在实例应用时应该严格根据相关国家法律法规的要求,获取个人信息主体的知情同意或单独同意,并在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为。
20.首先介绍一下与搜索相关的技术术语:l1:单索引分片倒排求交、粗计算,主要为内容独立计算、关键词(query)相关、一般考虑命中信息。
21.l2:单索引分片粗计算,主要为内容独立计算、query相关、考虑更多命中位置、命中距离、特征打分等。
22.l3:单集群粗计算,也称粗排,主要为内容列表中的内容进行与query相关的打分。
23.l4:精排,一般为单业务多集群、多源召回结果融合的全局排序、query相关。
24.l5:多业务结果混排。
25.mixer:搜索引擎后台接入整合服务,负责整体流程调度,包括发起query理解服务、各垂搜业务结果召回、多业务结果混排等。不同搜索引擎名称不完全一致。
26.垂搜mixer:垂搜业务接入服务,负责对垂搜业务搜索流程调度。不同搜索引擎名称不完全一致。
27.垂直搜索(简称垂搜):垂直搜索是针对某一个行业的专业搜索,是搜索引擎的细分和延伸,是根据特定用户的特定搜索请求,对网站(页)库中的某类专门信息进行深度挖
掘与整合后,再以某种形式将结果返回给用户。
28.图1为本技术实施例提供的一种搜索场景的示意图,在本实施例中,以服务器100作为前述计算机设备进行说明。
29.当用户需要通过关键词在目标业务范围内进行搜索时,可以通过目标账号生成对应的搜索请求。
30.为了在搜索结果中引入与该目标账号具有交互关系的内容,又不显著提升搜索耗时,在获取该搜索请求时,服务器可以无需等待搜索前对关键词的处理,即在理解关键词之前,就根据该搜索请求预先拉取相关的历史关联内容存储在聚合缓存中,并根据该关键词分别发起针对目标业务范围的垂直搜索和关联搜索。
31.通过垂直搜索可以从目标业务范围中获取与关键词相关的垂直搜索结果,通过关联搜索,可基于生成的内容提取请求,从聚合缓存中获取已预先拉取的历史关联内容,并基于关键词从历史关联内容中确定出关联搜索结果。
32.可见,在内容搜索中引入内容交互行为时,将与目标账号有交互关系的关联搜索部分从常规的垂直搜索部分独立出来,无需等待对关键词的处理或者垂直搜索的召回结果,就可以预先完成对历史关联内容的拉取,实现了关联搜索与垂直搜索的并行处理,有效缩短了整个搜索系统的处理耗时,而且最终的综合搜索结果是基于关联搜索结果和垂直搜索结果得到的,也能控制关联搜索结果中的内容出现在综合搜索结果中的可能性,有效提升了搜索质量。
33.图2为本技术实施例提供的一种搜索方法的方法流程图,该方法可以由计算机设备执行,在本实施例中,以该计算机设备是服务器为例进行说明。
34.所述方法包括:s201:获取目标账号发送的搜索请求。
35.当用户需要进行搜索时,可以通过目标账号输入相关的关键词来生成对应的搜索请求,在搜索发起时,还可以设置需要搜索的业务范围,或者使用默认的业务范围,业务范围例如网页、视频、图像等,以此指示搜索引擎在用户所需的业务范围完成搜索。
36.在本技术中不限定搜索请求对应的搜索场景,例如可以是在网页环境中发起的,也可以是在社交软件中发起的,也可以是在内容平台中发起的等。
37.该搜索请求用于请求在目标业务范围内对关键词进行搜索,其中,目标业务范围与发起该搜索请求的搜索场景相关,即属于该搜索场景能够涉及到的业务范围的全部或一部分。也就是说,在搜索场景涉及的业务范围有多个时,目标业务范围可以是一个,也可以是多个,本技术对此不做限定。
38.例如搜索请求的关键词可以是“汽车”,目标业务范围可以是“网页、图像”,通过该搜索请求,搜索引擎可以明确需要在网页和图像的业务范围内,搜索与汽车相关的网页内容和图像内容。
39.s202:根据所述搜索请求在聚合缓存中存储所述目标业务范围内与所述目标账号具有交互关系的历史关联内容,并根据所述关键词分别发起在所述目标业务范围内的垂直搜索和关联搜索。
40.在相关技术中,一般都是将与目标账号具有交互关系的内容的关联搜索设置在垂直搜索的内部进行串行处理。这样的好处在于,关联搜索的业务逻辑在垂直搜索的内部闭
环。
41.例如图3a所示的相关技术1,在获取搜索请求时,l1&l2(图示的召回)按业务范围内进行正常召回,得到垂直搜索的召回结果,仅在排序层(图示的l3)对关联搜索的发起召回,并对召回的关联内容进行排序提权,如图3a所示。这种方式为了在最后的搜索结果中尽可能保留关联搜索的内容,一般在l2或l3层对关联搜索得到的关联内容进行排序提权。
42.例如图3b所示的相关技术2,l1&l2层除了进行正常召回,得到垂直搜索的召回结果外,还会单独一路对关联搜索的内容进行指定内容列表的关联内容召回,在l3粗排时,会对业务范围内的垂直搜索的召回结果与关联搜索召回的关联内容进行融合排序,融合排序结果再经l4精排得到最终的搜索结果。
43.例如图3c所示的相关技术3,关联搜索通过单独一路进行召回流程的处理,从l2到l4采用独立链路作关联搜索的召回、粗排、精排,最后在l4将关联搜索结果和垂直搜索结果进行融合排序。
44.由于上述相关技术的关联搜索均设置在垂直搜索的逻辑内部,会具有如下问题:1)关联搜索相当于在原有的垂直搜索流程上增加了一个串行的过程,增加了垂直搜索的耗时。如果该垂直搜索是整个综合搜索引擎的耗时瓶颈业务,那么会直接增加整个搜索引擎的耗时。
45.2)在垂直搜索的l2&l3排序层对关联搜索的内容进行提权的方式,可能会在求交召回过程中因为全倒排链求交截断,导致关联搜索结果被截断丢弃最终无法被召回,在排序层就无法进行提权。
46.故此,在本技术中针对搜索请求,将会在搜索引擎理解关键词之前,统一提前预拉取关联搜索所需的历史关联内容并写入聚合缓存(聚合cache)中,且无需等待搜索请求的回包。历史关联内容的获取逻辑统一在垂直搜索的上层(例如混排mixer所在的l5层)处理,可以与针对关键词的处理流程并行完成,减少了整体系统的耗时开销。
47.本步骤提及的历史关联内容是目标业务范围内与目标账号具有交互关系的历史内容。该交互关系通过交互行为产生,交互行为可以包括查看、收藏、分享、下载等,例如当通过一个账号查看了一个内容,那么这个账号和这个内容之间就具备了交互关系。
48.由于搜索请求中包括了发起该搜索请求的目标账号的信息,以及需要在哪个业务范围(如目标业务范围)进行关键词的搜索,故服务器在通过上述信息可以直接获取到与目标账号和目标业务范围相关的历史关联内容。
49.需要说明的是,该交互关系可以是直接的,也可以是间接的,即在一种可能的实现方式中,所述历史关联内容为所述目标业务范围内,与所述目标账号具有直接交互关系的第一历史内容或者,具有间接交互关系的第二历史内容中的至少一种。
50.所述第二历史内容为与关联账号具有直接交互关系的历史内容,所述关联账号与所述目标账号在所述目标业务范围内具有社交关系。
51.也就是说,直接交互关系是通过目标账号直接做出的交互行为所产生的关系,例如通过目标账号查看一个内容,那么这个内容与目标账号之间的建立的交互关系就是直接交互关系,属于第一历史内容。
52.而目标账号如果具有社交关系的关联账号,例如与账号a具有好友关系这类社交关系,那么与账号a具有直接交互关系的内容,也可以被服务器确定为与目标账号具有间接
交互关系的第二历史内容。
53.当目标业务范围涉及文章类内容,历史关联内容可以包括对目标账号已关注账号的文章、已分享文章、已阅读文章、关联账号分享或阅读的文章等。
54.当目标业务范围涉及视频类内容,历史关联内容可以包括目标账号对历史播放、已关注账号的视频、关联账号分享或观看的视频等。
55.当目标业务范围涉及表情类内容,历史关联内容可以包括目标账号历史已发送的表情、关联账号高频发送的表情等。
56.这些历史关联内容相对于目标账号来说,在搜索结果展示时可以具有更好的可信度,符合目标账号的交互习惯来说质量也更好,因此将历史关联内容引入到搜索结果中可以有效提升搜索质量。
57.由于获取并在聚合缓存中存储历史关联内容并不需要服务器通过搜索引擎对关键词进行理解、解析,故获取、存储历史关联内容可以和根据关键词发起垂直搜索和关联搜索的处理逻辑同时进行。或者说,是否发起了垂直搜索和关联搜索,并不会影响对历史关联内容的获取和在聚合缓存中的存储。
58.在对关键词完成词义理解后,可以基于关键词发起垂直搜索和关联搜索。其中,针对目标业务范围的垂直搜索是指通过关键词在该目标业务范围内进行自然搜索,针对目标业务范围的关联搜索是指通过关键词在该目标业务范围内对与目标账号具有交互关系的内容(即历史关联内容)进行搜索。
59.需要说明的是,当基于搜索请求确定出的目标业务范围包括多个,例如包括文章类内容和视频类内容这两个目标业务范围时,针对一个目标业务范围,服务器可以发起针对该目标业务范围的垂直搜索和关联搜索。不同的目标业务范围之间的垂直搜索和关联搜索相互独立。
60.如图4所示,在针对一次搜索请求的处理时,该搜索请求涉及的目标业务范围包括多个,例如文章类内容、表情类内容、视频类内容等,针对不同的目标业务范围,在完成关键词理解后,服务器通过搜索引擎针对每一个目标业务范围都进行独立的垂直搜索。
61.例如,针对文章类内容,服务器会发起对应的垂直搜索和关联搜索(图中未示出),在垂直搜索时,搜索引擎会调用文章类精排服务在l4层进行对应的内容精排。针对视频类内容,服务器也会发起对应的垂直搜索和关联搜索(图中未示出),在垂直搜索时,搜索引擎会调用视频类精排服务在l4层进行对应的内容精排。针对任一个目标业务范围,其对应的垂直搜索和关联搜索均可以参考s203-s204,这里就不重复说明了。
62.s203:生成针对所述历史关联内容的内容提取请求,通过所述内容提取请求从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容。
63.本技术不限定在目标业务范围进行垂直搜索的方式,例如可以采用相关技术的垂直搜索方式。通过垂直搜索,可以从目标业务范围内获取到与关键词相关的垂直搜索结果。
64.针对关联搜索,本技术通过s203-s204完成关联搜索的处理逻辑。
65.由于聚合缓存中可能存储了针对不同搜索请求的历史关联内容,故在处理本次关联搜索时,首先生成针对历史关联内容的内容提取请求,通过内容提取请求的准确标识,从聚合缓存中存储的各个历史关联内容中,获取与该搜索请求相关的历史关联内容。
66.需要说明的是,在一些高并发的搜索场景下,聚合缓存需要存储的历史关联内容
的数据量可能较多,为了降低存储压力和系统开销,在一种可能的实现方式中,所述方法还包括:s11:确定所述历史关联内容在所述聚合缓存中的存储时长;s12:当所述存储时长大于阈值时尚未通过所述内容提取请求获取,将所述历史关联内容从所述聚合缓存中删除。
67.由于历史关联内容是基于搜索请求的发起而存储在聚合缓存中的,其目的是为了后续该搜索请求中的关联搜索提供相关的数据。
68.故可以基于整个搜索的最大耗时来确定历史关联内容可存储在聚合缓存中的时长阈值,当超出该时长阈值时还未收到对应的内容提取请求,可以确定搜索过程出现问题,例如内容提取请求生成失败等。该时长阈值例如可以是5s,也可以根据处理精度要求或者场景需求相应调整、设置。
69.在历史关联内容的存储时长大于阈值时尚未通过对应的内容提取请求获取时,预先存储的该历史关联内容将大概率不会用于后续的关联搜索,可以从聚合缓存中删除,以此降低存储压力和系统开销。
70.s204:在所述历史关联内容中确定与所述关键词对应的关联搜索结果。
71.由于历史关联内容并不是预先基于关键词获取的,故服务器需要通过关键词对历史关联内容进行筛选,从历史关联内容中进一步确定出与关键词相关的关联搜索结果,关联搜索结果可以是历史关联内容中涉及到关键词的历史关联内容。
72.s205:结合所述关联搜索结果和通过所述垂直搜索得到的垂直搜索结果,确定对应所述搜索请求的综合搜索结果。
73.该关联搜索结果可以体现出在目标业务范围内,与目标账号具有交互关系的历史关联内容中,涉及该关键词的历史关联内容。
74.该垂直搜索结果可以体现出在目标业务范围内,涉及该关键词的相关内容。
75.也就是说,关联搜索结果中更多的考量了与目标账号的交互关系,垂直搜索结果中更专注的考量了与关键词的相关性(相当于自然搜索结果)。通过两者的综合,得到的综合搜索结果可以体现出自然搜索的内容和与目标账号具有交互关系的搜索的内容,有效提升了搜索结果的质量。
76.需要强调的是,如前所述,当目标业务范围包括多个时,需要结合所有目标业务范围分别对应的关联搜索结果和垂直搜索结果来确定一个综合搜索结果,作为响应该搜索请求的最终搜索结果。
77.由此可见,当用户需要通过关键词在目标业务范围内进行搜索时,可以通过目标账号生成对应的搜索请求。为了在搜索结果中引入与该目标账号具有交互关系的内容,又不显著提升搜索耗时,可以无需等待搜索前对关键词的处理,即在理解关键词之前,就根据该搜索请求预先拉取相关的历史关联内容存储在聚合缓存中,并根据该关键词分别发起针对目标业务范围的垂直搜索和关联搜索。通过垂直搜索可以从目标业务范围中获取与关键词相关的垂直搜索结果,通过关联搜索,可基于生成的内容提取请求,从聚合缓存中获取已预先拉取的历史关联内容,并基于关键词从历史关联内容中确定出关联搜索结果。可见,在内容搜索中引入内容交互行为时,将与目标账号有交互关系的关联搜索部分从常规的垂直搜索部分独立出来,无需等待对关键词的处理或者垂直搜索的召回结果,就可以预先完成
对历史关联内容的拉取,实现了关联搜索与垂直搜索的并行处理,有效缩短了整个搜索系统的处理耗时,而且最终的综合搜索结果是基于关联搜索结果和垂直搜索结果得到的,也能控制关联搜索结果中的内容出现在综合搜索结果中的可能性,有效提升了搜索质量。
78.接下来说明前述搜索过程中对关键词的理解。服务器为了清楚明确用户的搜索目的,需要准确了解搜索请求中关键词的语义信息。
79.故在一种可能的实现方式中,s202中根据所述关键词分别发起在所述目标业务范围内的垂直搜索和关联搜索,包括:s2021:对所述关键词进行分词理解处理,得到用于搜索的关键词分词;s2022:根据所述关键词分词分别发起在所述目标业务范围内的垂直搜索和关联搜索。
80.通过分词理解处理,可以将关键词划分为至少一个关键词分词,细化的关键词分词可更清晰化的体现出关键词的语义信息,以便服务器做出符合搜索目的的垂直搜索和关联搜索。
81.根据确定出的关键词分词,服务器可生成各个关键词分词分别对应的分词倒排索引,分词倒排索引为针对关键词分词的倒排索引,倒排索引源于实际应用中需要根据属性的值来查找记录,通过倒排索引,可以实质性提升从海量内容中查找到与关键词相关内容的查找效率。
82.本技术就不对基于分词倒排索引进行垂直搜索进行过多说明,接下来主要说明通过分词倒排索引从历史关联内容中快速确定与关键词对应的关联搜索结果的方式。
83.在一种可能的实现方式中,s204:在所述历史关联内容中确定与所述关键词对应的关联搜索结果,包括:s2041:根据所述历史关联内容生成对应的虚拟倒排索引;s2042:生成所述关键词分词分别对应的分词倒排索引;s2043:根据所述虚拟倒排索引,通过所述分词倒排索引确定在所述历史关联内容中与所述关键词对应的关联搜索结果。
84.需要说明的是,s2041和s2042的执行顺序本技术并不限定,可以是先后执行,也可以是同时执行。
85.为了提升从历史关联内容中确定关联搜索结果的效率,可以根据历史关联内容生成对应的虚拟倒排索引。具体的,可通过提取历史关联内容中与交互关系相关的内容标识(例如docid),按照搜索引擎技术转化为引擎内构造倒排索引的内部内容标识,然后基于内部内容标识按序排序形成针对历史关联内容的虚拟倒排索引。
86.通过虚拟倒排索引和分词倒排索引,服务器可以快速的确定在历史关联内容中与关键词对应的关联搜索结果,具体的,可以将虚拟倒排索引和分词倒排索引共同进行求交。而且,通过虚拟倒排索引和分词倒排索引,得出的关联搜索结果中必然是历史关联内容中的内容,避免出现相关技术中可能的历史关联内容遗失的情况。
87.接下来说明如何准确的从聚合缓存中获取本次搜索请求对应的历史关联内容的方式。
88.在一种可能的实现方式中,s202中根据所述搜索请求在聚合缓存中存储所述目标业务范围内与所述目标账号具有交互关系的历史关联内容,包括:
s2023:根据所述搜索请求涉及的所述目标账号和所述目标业务范围,确定所述搜索请求的第一请求标识;s2024:根据所述搜索请求获取所述目标业务范围内与所述目标账号具有交互关系的历史关联内容;s2025:基于所述第一请求标识和所述历史关联内容的对应关系,在所述聚合缓存中存储所述历史关联内容。
89.需要说明的是,本实施例的步骤的具体编号仅为了顺序编号,并不起到与前述实施例中的s2021-s2022之间有任何的执行顺序的限定作用。
90.为了能够让历史关联内容能够准确的被对应的内容提取请求从聚合缓存中获取,需要在聚合缓存中存储历史关联内容时对其进行准确的标识。
91.在本技术实施例中,通过第一请求标识进行历史关联内容的标识,第一请求标识是根据搜索请求涉及的目标账号和目标业务范围确定的,而目标账号和目标业务范围可以准确的界定出本次搜索请求与交互关系相关的搜索目的,并起到与其他搜索请求区分的作用。
92.故服务器在将搜索请求对应的历史关联内容在聚合缓存中进行存储时,可以基于第一请求标识和历史关联内容的对应关系完成存储,相当于将第一请求标识作为该历史关联内容的标签,从而通过不同的标签来区分不同搜索请求的历史关联内容。
93.在一种可能的实现方式中,第一请求标识可以通过目标账号的账号标识和目标业务范围的范围标识组成,或者,进一步的,还可以加入应涉及内容的内容生成时间范围,例如本次搜索请求需要拉取的内容应该在最近一周内生成。
94.在准确标识了聚合缓存中的各个历史关联内容后,接下来说明如何准确的从聚合缓存中获取所需的历史关联内容。
95.在一种可能的实现方式中,s203:生成针对所述历史关联内容的内容提取请求,通过所述内容提取请求从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容,包括:s2031:生成所述内容提取请求,所述内容提取请求的第二请求标识用于标识所述目标账号和所述目标业务范围;s2032:响应于所述第二请求标识与所述聚合缓存中的所述第一请求标识一致,根据所述第一请求标识从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容。
96.也就是说,服务器在生成内容提取请求时,还会构建内容提取请求的第二请求标识,该第二请求标识的构建逻辑与第一请求标识一致,均起到标识本次搜索请求涉及的目标账号和目标业务范围的作用。
97.故此,基于同一个搜索请求生成的第一请求标识和第二请求标识实质上可以被服务器确定为同一个请求标识,服务器可以将第一请求标识对应的搜索请求确定为首次请求,将第二请求标识对应的内容提取请求认定为该首次请求的同质请求,即请求参数完全相同或逻辑意义上认为相同的不同请求。从而服务器可以根据第二请求标识,从存储的各个历史关联内容中准确确定出与第二请求标识为相同请求标识(如第一请求标识)的历史关联内容。
98.对于同质请求,服务器可以使用请求聚合缓存机制,由首次请求(如搜索请求)进
行完整的处理逻辑并将结果(如历史关联内容)写入聚合缓存,后续的同质请求(如内容提取请求)等待首次请求处理完成直接从缓存中获取结果即可。
99.也就是说,通过使用一致的构建逻辑生成第一请求标识和第二请求标识,从而可以在聚合缓存中存取历史关联内容时引入同质请求的处理逻辑,大大提升了聚合缓存的存取效率和处理效率。
100.需要说明的是,虽然通过前述同质请求的逻辑,能够起到准确的从聚合缓存中存取历史关联内容的作用,但是考虑到处理延时、通过搜索请求获取历史关联内容的耗时等,有可能会出现服务器在响应针对一个搜索请求的内容提取请求时,该搜索请求对应的历史关联内容尚未存储到聚合缓存的情况。
101.为此,在一种可能的实现方式中,在获取所述历史关联内容的过程中,所述方法还包括:根据所述第一请求标识在所述聚合缓存中生成针对所述历史关联内容的锁定状态;当获取到所述历史关联内容后,s2025:基于所述第一请求标识和所述历史关联内容的对应关系,在所述聚合缓存中存储所述历史关联内容,包括:基于所述第一请求标识和所述历史关联内容的对应关系,在所述聚合缓存中存储所述历史关联内容,并将所述锁定状态更新为解锁状态。
102.也就是说,在获取搜索请求时,相关的历史关联内容还需要服务器去调用相应的接口,或者从相应的存储位置获取,即获取到本次搜索请求所对应完整的历史关联内容需要一定的耗时。如果在将历史关联内容存储到聚合缓存前,就生成了内容提取请求向聚合缓存获取该历史关联内容,有可能出现逻辑错误,或者提取了不对应的历史关联内容等问题。
103.为了避免这类问题的产生,本技术实施例中在聚合缓存中采用了锁机制,服务器在根据搜索请求获取对应的历史关联内容的过程中,即尚未完成对历史关联内容的获取,聚合缓存中还未存储该历史关联内容的情况下,服务器可以根据第一请求标识在聚合缓存中生成针对历史关联内容的锁定状态。
104.原因在于,由于在获取搜索请求时,基于搜索请求的请求参数(例如发起搜索请求的目标账号,本次搜索涉及的目标业务范围等)可以直接得到第一请求标识,也就是说,第一请求标识的构建耗时基本可以忽略不计,使得第一请求标识构建时机必然在生成内容提取请求之前,故服务器根据第一请求标识在聚合缓存中生成的锁定状态,可以标识当前与第一请求标识相关的历史关联内容不可从聚合缓存中提取。根据此方式,即使此时服务器生成了针对该历史关联内容的内容提取请求,也会在锁定状态下明确所需的历史关联内容尚未存入,降低从聚合缓存中拉取错误历史关联内容的可能。
105.而且,该锁定状态还可以基于历史关联内容的实际获取情况进行动态切换,即当服务器完成对历史关联内容的获取后,随着该历史关联内容被存储到聚合缓存中,故可以将第一请求标识在聚合缓存中对应的状态从锁定状态更新为解锁状态,在解锁状态下,服务器可以响应于内容提取请求返回正确的历史关联内容。
106.也就是说,当服务器获取搜索请求时,将该搜索请求作为首次请求,并基于搜索请求的第一请求标识在聚合缓存中设置对应的锁定状态,期间即使需要响应该首次请求的同质请求(内容提取请求),也暂不做响应,直至首次请求对应的历史关联内容被存储到聚合缓存中后,将锁定状态更新为解锁状态,并将基于首次请求存入的历史关联内容作为该同
质请求的响应进行返回。
107.故在一种可能的实现方式中,s2032:响应于所述第二请求标识与所述聚合缓存中的所述第一请求标识一致,根据所述第一请求标识从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容,包括:s20321:响应于所述第二请求标识与所述聚合缓存中的所述第一请求标识一致,确定所述第一请求标识对应的状态;s20322:响应于所述状态为锁定状态,不对所述内容提取请求进行处理,直至所述状态切换为解锁状态;s20323:响应于所述状态为解锁状态,根据所述第一请求标识从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容。
108.本实施例是通过内容提取请求的处理逻辑来进一步说明基于同质请求的锁机制在聚合缓存中的作用。
109.在处理内容提取请求时,服务器通过内容提取请求的第二请求标识与聚合缓存中各个历史关联内容具有对应关系的请求标识进行匹配,当确定第二请求标识与请求标识中的第一请求标识一致时,确定该内容提取请求是搜索请求的同质请求。为了避免出现历史关联内容的提取错误问题,服务器还需要确定当前第一请求标识对应的状态是什么。
110.当该状态为锁定状态,确定当前该搜索请求对应的历史关联内容尚未存储到聚合缓存中,服务器将暂时不会对内容提取请求进行处理,而是等待第一请求标识的状态更新为解锁状态。
111.当该状态为解锁状态时,确定当前该搜索请求对应的历史关联内容已经存储到聚合缓存中,服务器将从聚合缓存中获取该历史关联内容作为内容提取请求的响应。
112.例如图5示出了基于同质请求针对聚合缓存的锁机制示意图之一,在获取首次请求(如本技术中的搜索请求)时,基于首次请求的第一请求标识,在聚合缓存中针对历史关联内容生成对应的锁定状态。在锁定状态期间收到对应首次请求的同质请求(如本技术中的内容提取请求)时,如果第一请求标识对应的状态为锁定状态,则等待不做响应。当通过首次请求获取历史关联内容并储存到聚合缓存中时,将第一请求标识对应的状态更新为解锁状态,此时可以正常响应该同质请求,将对应的历史关联内容进行返回。
113.例如图6示出了基于同质请求针对聚合缓存的锁机制示意图之二,在聚合缓存中通过协程锁(comutex)来实现锁机制,当获取首次请求时,基于第一请求标识加锁,生成锁定状态。通过搜索逻辑可以获取该首次请求的历史关联内容,当该历史关联内容被存储到聚合缓存中时,将状态更新为解锁状态。此时允许响应首次请求的同质请求(图中虚线部分)。
114.通过同质请求的基础上引入锁机制,有效避免出现通过内容提取请求可能获取到错误的历史关联内容,或者无法获取历史关联内容的情况,大大提升了聚合缓存的处理效率和处理精度。
115.接下来对本技术中的垂直搜索进行说明。
116.在一种可能的实现方式中,所述垂直搜索结果通过如下方式得到:针对从所述目标业务范围召回的待定业务内容,根据所述关键词对所述待定业务内容进行关联性排序和打分,得到所述垂直搜索结果,并在针对所述目标业务范围的精排
缓存中存储所述垂直搜索结果。
117.在进行垂直搜索时,可以在目标业务范围内通过l1层召回和关键词有关的待定业务内容,然后依次通过l2-l4层对待定业务内容进行关联性排序和打分,最终通过精排得到垂直搜索结果,该垂直搜索结果可存储在精排缓存(l4 cache)中以备调用。
118.在前述的相关技术1-3中,在l2、l3层进行关联搜索的内容排序提权,或单独进行关联搜索的内容召回后在l3层与垂直搜索结果融合的方式,都会导致原来缓存在l4 cache中的垂直搜索结果失效,缓存位置只能从l4层下移,无法发挥l4 cache尽可能多的减少一些处理流程的作用,也会增加系统的计算开销和处理耗时。
119.而由于本技术实施例中关联搜索被独立于垂直搜索之外,和垂直搜索并行执行,使得在精排缓存中存储垂直搜索结果成为可能,从而大大的提升了搜索系统的处理效率,降低了计算开销和处理耗时。
120.如前所述,由于在本技术中可以在精排缓存中存储垂直搜索结果,接下来说明本技术实施例提供的一种通过存储的垂直搜索结果进行的简便方案。
121.在一种可能的实现方式中,从所述目标业务范围召回待定业务内容之前,所述方法还包括:s31:根据所述关键词查询所述精排缓存中的搜索结果;s32:当确定所述精排缓存中存储有针对所述关键词的搜索结果时,将所述搜索结果确定为所述垂直搜索结果。
122.也就是说,在精排缓存中存储垂直搜索结果时,可以将垂直搜索结果和对应的关键词进行关联存储,类似前述在聚合缓存中基于第一请求标识和历史关联内容的对应关系进行存储的方式,将关键词作为垂直搜索结果的标签。该精排缓存中存储有基于不同搜索请求得到的垂直搜索结果,为了便于说明,起到区分本次垂直搜索结果的目的。
123.服务器在进行垂直搜索时,首先可以根据本次搜索请求的关键词对精排缓存进行查询,当从精排缓存中查询到与该关键词对应的搜索结果时,则证明之前搜索引擎曾基于该关键词在目标业务范围内做出过垂直搜索,那么可以直接使用该搜索结果作为本次搜索请求对应的垂直搜索结果,无需再进行召回、排序、打分的后续处理,从而大大提升了垂直搜索的效率,并一定程度上节约了系统开销。
124.当服务器未通过关键词在精排缓存中查询对应的搜索结果时,服务器可以通过搜索引擎进行正常的垂直搜索处理流程,得到垂直搜索结果。
125.图7为本技术实施例提供的一种涉及关联搜索的搜索方法示意图。
126.在通过目标账号发起搜索请求时,该搜索请求被依据目标账号、涉及的目标业务范围等搜索参数分配了第一请求标识。
127.通过l5层(例如混排mixer)基于第一请求标识所体现的搜索参数,预拉取对应的历史关联内容在聚合缓存中进行存储。由于历史关联内容与当前搜索的关键词无关,预拉取服务的调用与关键词的理解可以处理并行,这样可以充分利用关键词理解处理的时长来进行历史关联内容的获取。
128.通过l5层对历史关联内容预拉取,而且无需等获取到历史关联内容后再调用针对各目标业务范围的垂直搜索流程,而是引入聚合缓存,以《第一请求标识,目标业务范围》为key,获取到的历史关联内容为value,写入聚合缓存中,存储该历史关联内容的存储时长可
以限制一次搜索请求前端等待的最大时长,如5s。
129.通过l5层调用关键词理解服务得到用于搜索的关键词相关信息后,便可并行调用针对各目标业务范围的垂直搜索和关联搜索。
130.精排层(l4)并行发起两路(假设仅有一个目标业务范围)独立的结果召回链路,分别为针对目标业务范围的垂直搜索和关联搜索。
131.对于垂直搜索,保持原有业务正常自然结果召回逻辑,进行底层l1求交召回后,经过l2打分,l3粗排、l4精排后得到垂直搜索结果,并以关键词为key,垂直搜索结果为value写入l4 cache。在进行垂直搜索时,建议先通过本次搜索请求的关键词查询l4 cache,若l4 cache有命中本次搜索请求的关键词的搜索结果,直接使用搜索结果作为本次的垂直搜索结果返回;若未命中,则进行完整的召回逻辑处理。
132.对于关联搜索,在调用底层l1求交召回之前,先通过内容提取请求从聚合缓存中获取历史关联内容,以《第二请求标识,目标业务范围》为key,从聚合缓存中获取对应的历史关联内容。若此时该历史关联内容尚未被存储到聚合缓存中时,则可以基于前述的锁机制和同质请求的逻辑,等待存储完成后再获取该历史关联内容。
133.服务器通过搜索引擎,对获取到的历史关联内容提取对应交互关系的内容标识,按搜索引擎技术转化为引擎内构造倒排链的内部内容标识,将历史关联内容按照内部内容标识按序排序构建虚拟倒排索引。
134.将虚拟倒排索引作为输入,与关键词分词分别对应的分词倒排索引共同进行求交,求交出来交集结果必然是在虚拟倒排索引中存在的历史关联内容,相当于指定历史关联内容的召回。
135.对指定历史关联内容的召回的结果进行l3粗排、l4精排后得到关联搜索结果。
136.服务器通过搜索引擎,将得到的垂直搜索结果与关联搜索结果进行融合排序,得到最终的综合搜索结果。
137.图8为本技术实施例提供的一种搜索装置的装置结构图,所述搜索装置800包括获取单元801、存储和搜索单元802、生成单元803和确定单元804:所述获取单元801,用于获取目标账号发送的搜索请求,所述搜索请求用于请求在目标业务范围内对关键词进行搜索;所述存储和搜索单元802,用于根据所述搜索请求在聚合缓存中存储所述目标业务范围内与所述目标账号具有交互关系的历史关联内容,并根据所述关键词分别发起在所述目标业务范围内的垂直搜索和关联搜索;所述生成单元803,用于生成针对所述历史关联内容的内容提取请求,通过所述内容提取请求从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容;所述确定单元804,用于在所述历史关联内容中确定与所述关键词对应的关联搜索结果;所述确定单元804还用于结合所述关联搜索结果和通过所述垂直搜索得到的垂直搜索结果,确定对应所述搜索请求的综合搜索结果。
138.在一种可能的实现方式中,所述存储和搜索单元还用于:对所述关键词进行分词理解处理,得到用于搜索的关键词分词;根据所述关键词分词分别发起在所述目标业务范围内的垂直搜索和关联搜索。
139.在一种可能的实现方式中,所述确定单元还用于:根据所述历史关联内容生成对应的虚拟倒排索引;生成所述关键词分词分别对应的分词倒排索引;根据所述虚拟倒排索引,通过所述分词倒排索引确定在所述历史关联内容中与所述关键词对应的关联搜索结果。
140.在一种可能的实现方式中,所述确定单元还用于:根据所述搜索请求涉及的所述目标账号和所述目标业务范围,确定所述搜索请求的第一请求标识;根据所述搜索请求获取所述目标业务范围内与所述目标账号具有交互关系的历史关联内容;基于所述第一请求标识和所述历史关联内容的对应关系,在所述聚合缓存中存储所述历史关联内容。
141.在一种可能的实现方式中,所述生成单元还用于:生成所述内容提取请求,所述内容提取请求的第二请求标识用于标识所述目标账号和所述目标业务范围;响应于所述第二请求标识与所述聚合缓存中的所述第一请求标识一致,根据所述第一请求标识从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容。
142.在一种可能的实现方式中,所述装置还包括锁机制单元,所述锁机制单元还用于在获取所述历史关联内容的过程中:根据所述第一请求标识在所述聚合缓存中生成针对所述历史关联内容的锁定状态;当获取到所述历史关联内容后,所述基于所述第一请求标识和所述历史关联内容的对应关系,在所述聚合缓存中存储所述历史关联内容,包括:基于所述第一请求标识和所述历史关联内容的对应关系,在所述聚合缓存中存储所述历史关联内容,并将所述锁定状态更新为解锁状态。
143.在一种可能的实现方式中,所述生成单元还用于:响应于所述第二请求标识与所述聚合缓存中的所述第一请求标识一致,确定所述第一请求标识对应的状态;响应于所述状态为锁定状态,不对所述内容提取请求进行处理,直至所述状态切换为解锁状态;响应于所述状态为解锁状态,根据所述第一请求标识从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容。
144.在一种可能的实现方式中,所述存储和搜索单元还用于:针对从所述目标业务范围召回的待定业务内容,根据所述关键词对所述待定业务内容进行关联性排序和打分,得到所述垂直搜索结果,并在针对所述目标业务范围的精排缓存中存储所述垂直搜索结果。
145.在一种可能的实现方式中,所述确定单元还用于:根据所述关键词查询所述精排缓存中的搜索结果;当确定所述精排缓存中存储有针对所述关键词的搜索结果时,将所述搜索结果确
定为所述垂直搜索结果。
146.在一种可能的实现方式中,所述确定单元还用于:确定所述历史关联内容在所述聚合缓存中的存储时长;当所述存储时长大于时长阈值时尚未通过所述内容提取请求获取,将所述历史关联内容从所述聚合缓存中删除。
147.在一种可能的实现方式中,所述历史关联内容为所述目标业务范围内,与所述目标账号具有直接交互关系的第一历史内容或者,具有间接交互关系的第二历史内容中的至少一种;所述第二历史内容为与关联账号具有直接交互关系的历史内容,所述关联账号与所述目标账号在所述目标业务范围内具有社交关系。
148.由此可见,当用户需要通过关键词在目标业务范围内进行搜索时,可以通过目标账号生成对应的搜索请求。为了在搜索结果中引入与该目标账号具有交互关系的内容,又不显著提升搜索耗时,可以无需等待搜索前对关键词的处理,即在理解关键词之前,就根据该搜索请求预先拉取相关的历史关联内容存储在聚合缓存中,并根据该关键词分别发起针对目标业务范围的垂直搜索和关联搜索。通过垂直搜索可以从目标业务范围中获取与关键词相关的垂直搜索结果,通过关联搜索,可基于生成的内容提取请求,从聚合缓存中获取已预先拉取的历史关联内容,并基于关键词从历史关联内容中确定出关联搜索结果。可见,在内容搜索中引入内容交互行为时,将与目标账号有交互关系的关联搜索部分从常规的垂直搜索部分独立出来,无需等待对关键词的处理或者垂直搜索的召回结果,就可以预先完成对历史关联内容的拉取,实现了关联搜索与垂直搜索的并行处理,有效缩短了整个搜索系统的处理耗时,而且最终的综合搜索结果是基于关联搜索结果和垂直搜索结果得到的,也能控制关联搜索结果中的内容出现在综合搜索结果中的可能性,有效提升了搜索质量。
149.本技术实施例还提供了一种计算机设备,该计算机设备为前述介绍的计算机设备,可以包括终端设备或服务器,前述的搜索装置可以配置在该计算机设备中。下面结合附图对该计算机设备进行介绍。
150.若该计算机设备为终端设备,请参见图9所示,本技术实施例提供了一种终端设备,以终端设备为手机为例:图9示出的是与本技术实施例提供的终端设备相关的手机的部分结构的框图。参考图9,手机包括:射频(radio frequency,简称rf)电路1410、存储器1420、输入单元1430、显示单元1440、传感器1450、音频电路1460、无线保真(简称wifi)模块1470、处理器1480、以及电源1490等部件。本领域技术人员可以理解,图9中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
151.下面结合图9对手机的各个构成部件进行具体的介绍:rf电路1410可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1480处理;另外,将设计上行的数据发送给基站。
152.存储器1420可用于存储软件程序以及模块,处理器1480通过运行存储在存储器1420的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所
创建的数据(比如音频数据、电话本等)等。此外,存储器1420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
153.输入单元1430可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1430可包括触控面板1431以及其他输入设备1432。
154.显示单元1440可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1440可包括显示面板1441。
155.手机还可包括至少一种传感器1450,比如光传感器、运动传感器以及其他传感器。
156.音频电路1460、扬声器1461,传声器1462可提供用户与手机之间的音频接口。
157.wifi属于短距离无线传输技术,手机通过wifi模块1470可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。
158.处理器1480是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1420内的软件程序和/或模块,以及调用存储在存储器1420内的数据,执行手机的各种功能和处理数据。
159.手机还包括给各个部件供电的电源1490(比如电池)。
160.在本实施例中,该终端设备所包括的处理器1480还具有以下功能:获取目标账号发送的搜索请求,所述搜索请求用于请求在目标业务范围内对关键词进行搜索;根据所述搜索请求在聚合缓存中存储所述目标业务范围内与所述目标账号具有交互关系的历史关联内容,并根据所述关键词分别发起在所述目标业务范围内的垂直搜索和关联搜索;生成针对所述历史关联内容的内容提取请求,通过所述内容提取请求从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容;在所述历史关联内容中确定与所述关键词对应的关联搜索结果;结合所述关联搜索结果和通过所述垂直搜索得到的垂直搜索结果,确定对应所述搜索请求的综合搜索结果。
161.若计算机设备为服务器,本技术实施例还提供一种服务器,请参见图10所示,图10为本技术实施例提供的服务器1500的结构图,服务器1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,简称cpu)1522(例如,一个或一个以上处理器)和存储器1532,一个或一个以上存储应用程序1542或数据1544的存储介质1530(例如一个或一个以上海量存储设备)。其中,存储器1532和存储介质1530可以是短暂存储或持久存储。存储在存储介质1530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1522可以设置为与存储介质1530通信,在服务器1500上执行存储介质1530中的一系列指令操作。
162.服务器1500还可以包括一个或一个以上电源1526,一个或一个以上有线或无线网络接口1550,一个或一个以上输入输出接口1558,和/或,一个或一个以上操作系统1541,例如windows server
tm
,mac os x
tm
,unix
tm
, linux
tm
,freebsd
tm
等等。
163.上述实施例中由服务器所执行的步骤可以基于图10所示的服务器结构。
164.另外,本技术实施例还提供了一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序用于执行上述实施例提供的方法。
165.本技术实施例还提供了一种包括计算机程序的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行上述实施例提供的方法。
166.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:rom)、ram、磁碟或者光盘等各种可以存储计算机程序的介质。
167.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
168.以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。而且本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。因此,本技术的保护范围应该以权利要求的保护范围为准。

技术特征:
1.一种搜索方法,其特征在于,所述方法包括:获取目标账号发送的搜索请求,所述搜索请求用于请求在目标业务范围内对关键词进行搜索;根据所述搜索请求在聚合缓存中存储所述目标业务范围内与所述目标账号具有交互关系的历史关联内容,并根据所述关键词分别发起在所述目标业务范围内的垂直搜索和关联搜索;生成针对所述历史关联内容的内容提取请求,通过所述内容提取请求从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容;在所述历史关联内容中确定与所述关键词对应的关联搜索结果;结合所述关联搜索结果和通过所述垂直搜索得到的垂直搜索结果,确定对应所述搜索请求的综合搜索结果。2.根据权利要求1所述的方法,其特征在于,所述根据所述关键词分别发起在所述目标业务范围内的垂直搜索和关联搜索,包括:对所述关键词进行分词理解处理,得到用于搜索的关键词分词;根据所述关键词分词分别发起在所述目标业务范围内的垂直搜索和关联搜索。3.根据权利要求2所述的方法,其特征在于,所述在所述历史关联内容中确定与所述关键词对应的关联搜索结果,包括:根据所述历史关联内容生成对应的虚拟倒排索引;生成所述关键词分词分别对应的分词倒排索引;根据所述虚拟倒排索引,通过所述分词倒排索引确定在所述历史关联内容中与所述关键词对应的关联搜索结果。4.根据权利要求1所述的方法,其特征在于,所述根据所述搜索请求在聚合缓存中存储所述目标业务范围内与所述目标账号具有交互关系的历史关联内容,包括:根据所述搜索请求涉及的所述目标账号和所述目标业务范围,确定所述搜索请求的第一请求标识;根据所述搜索请求获取所述目标业务范围内与所述目标账号具有交互关系的历史关联内容;基于所述第一请求标识和所述历史关联内容的对应关系,在所述聚合缓存中存储所述历史关联内容。5.根据权利要求4所述的方法,其特征在于,所述生成针对所述历史关联内容的内容提取请求,通过所述内容提取请求从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容,包括:生成所述内容提取请求,所述内容提取请求的第二请求标识用于标识所述目标账号和所述目标业务范围;响应于所述第二请求标识与所述聚合缓存中的所述第一请求标识一致,根据所述第一请求标识从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容。6.根据权利要求5所述的方法,其特征在于,在获取所述历史关联内容的过程中,所述方法还包括:根据所述第一请求标识在所述聚合缓存中生成针对所述历史关联内容的锁定状态;
当获取到所述历史关联内容后,所述基于所述第一请求标识和所述历史关联内容的对应关系,在所述聚合缓存中存储所述历史关联内容,包括:基于所述第一请求标识和所述历史关联内容的对应关系,在所述聚合缓存中存储所述历史关联内容,并将所述锁定状态更新为解锁状态。7.根据权利要求6所述的方法,其特征在于,所述响应于所述第二请求标识与所述聚合缓存中的所述第一请求标识一致,根据所述第一请求标识从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容,包括:响应于所述第二请求标识与所述聚合缓存中的所述第一请求标识一致,确定所述第一请求标识对应的状态;响应于所述状态为锁定状态,不对所述内容提取请求进行处理,直至所述状态切换为解锁状态;响应于所述状态为解锁状态,根据所述第一请求标识从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容。8.根据权利要求1所述的方法,其特征在于,所述垂直搜索结果通过如下方式得到:针对从所述目标业务范围召回的待定业务内容,根据所述关键词对所述待定业务内容进行关联性排序和打分,得到所述垂直搜索结果,并在针对所述目标业务范围的精排缓存中存储所述垂直搜索结果。9.根据权利要求8所述的方法,其特征在于,从所述目标业务范围召回待定业务内容之前,所述方法还包括:根据所述关键词查询所述精排缓存中的搜索结果;当确定所述精排缓存中存储有针对所述关键词的搜索结果时,将所述搜索结果确定为所述垂直搜索结果。10.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定所述历史关联内容在所述聚合缓存中的存储时长;当所述存储时长大于时长阈值时尚未通过所述内容提取请求获取,将所述历史关联内容从所述聚合缓存中删除。11.根据权利要求1-10任意一项所述的方法,其特征在于,所述历史关联内容为所述目标业务范围内,与所述目标账号具有直接交互关系的第一历史内容或者,具有间接交互关系的第二历史内容中的至少一种;所述第二历史内容为与关联账号具有直接交互关系的历史内容,所述关联账号与所述目标账号在所述目标业务范围内具有社交关系。12.一种搜索装置,其特征在于,所述装置包括获取单元、存储和搜索单元、生成单元和确定单元:所述获取单元,用于获取目标账号发送的搜索请求,所述搜索请求用于请求在目标业务范围内对关键词进行搜索;所述存储和搜索单元,用于根据所述搜索请求在聚合缓存中存储所述目标业务范围内与所述目标账号具有交互关系的历史关联内容,并根据所述关键词分别发起在所述目标业务范围内的垂直搜索和关联搜索;所述生成单元,用于生成针对所述历史关联内容的内容提取请求,通过所述内容提取
请求从所述聚合缓存中获取对应所述关联搜索的所述历史关联内容;所述确定单元,用于在所述历史关联内容中确定与所述关键词对应的关联搜索结果;所述确定单元还用于结合所述关联搜索结果和通过所述垂直搜索得到的垂直搜索结果,确定对应所述搜索请求的综合搜索结果。13.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;所述处理器用于根据所述计算机程序执行权利要求1-11中任意一项所述的方法。14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序在被计算机设备执行时实现执行权利要求1-11中任意一项所述的方法。15.一种包括计算机程序的计算机程序产品,当其在计算机设备上运行时,使得所述计算机设备执行权利要求1-11中任意一项所述的方法。

技术总结
本申请公开了一种搜索方法和相关装置,当用户需要通过关键词在目标业务范围内进行搜索时,在理解关键词之前,就根据该搜索请求预先拉取相关的历史关联内容存储在聚合缓存中,并根据该关键词分别发起针对目标业务范围的垂直搜索和关联搜索。通过关联搜索,可基于生成的内容提取请求,从聚合缓存中获取已预先拉取的历史关联内容,并基于关键词从历史关联内容中确定出关联搜索结果。无需等待对关键词的处理或者垂直搜索的召回结果,就可以预先完成对历史关联内容的拉取,实现了关联搜索与垂直搜索的并行处理,有效缩短了整个搜索系统的处理耗时,而且也能控制关联搜索结果中的内容出现在综合搜索结果中的可能性,有效提升了搜索质量。质量。质量。


技术研发人员:姚创沐
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2023.07.11
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐