CN115794892B - 基于分层缓存的搜索方法、装置、设备及介质 - Google Patents
基于分层缓存的搜索方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115794892B CN115794892B CN202310024202.9A CN202310024202A CN115794892B CN 115794892 B CN115794892 B CN 115794892B CN 202310024202 A CN202310024202 A CN 202310024202A CN 115794892 B CN115794892 B CN 115794892B
- Authority
- CN
- China
- Prior art keywords
- data
- result
- cache
- keyword
- target
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种基于分层缓存的搜索方法、装置、设备及介质,其中方法包括:根据搜索请求携带的目标关键词数据,从预设的第一缓存中查询结果标识数组,得到第一查询结果;若第一查询结果为成功,则根据第一查询结果对应的结果标识数组,从预设的第二缓存中搜索各个结果简介数据,作为目标返回数据;若第一查询结果为失败,则基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、目标关键词数据和第二缓存,确定目标返回数据,并根据目标关键词数据和目标返回数据更新第一缓存及第二缓存;将目标返回数据发送给目标应用。从而减少了搜索服务的工作量,提高了搜索服务的搜索效率,减少了二级缓存的缓存空间。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于分层缓存的搜索方法、装置、设备及介质。
背景技术
随着计算机技术的发展,对搜索服务的需求暴增。目前的搜索服务搜索目标数据库,并返回预设数量的完整的结果简介数据,导致搜索服务的工作量较大,影响了搜索服务的搜索效率;而搜索结果的缓存方式是直接将请求内容作为key,将搜索结果作为value,以形成key-value形式的键值对进行缓存,导致占用大量的缓存空间,降低了搜索效率,增加了缓存成本。
发明内容
基于此,有必要针对目前的搜索服务返回预设数量的完整的结果简介数据,导致搜索服务的工作量较大,影响了搜索服务的搜索效率,而且采用键值对对请求内容和搜索结果进行缓存,导致占用大量的缓存空间,降低了搜索效率的技术问题,提出了一种基于分层缓存的搜索方法、装置、设备及介质。
本申请提出了一种基于分层缓存的搜索方法,所述方法包括:
获取目标应用发送的搜索请求;
根据所述搜索请求携带的目标关键词数据,从预设的第一缓存中查询结果标识数组,得到第一查询结果;
若所述第一查询结果为成功,则根据所述第一查询结果对应的所述结果标识数组,从预设的第二缓存中搜索各个结果简介数据,作为目标返回数据;
若所述第一查询结果为失败,则基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,并根据所述目标关键词数据和所述目标返回数据更新所述第一缓存及所述第二缓存;
将所述目标返回数据发送给所述目标应用。
进一步地,所述基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,并根据所述目标关键词数据和所述目标返回数据更新所述第一缓存及所述第二缓存的步骤,包括:
根据所述目标关键词数据,调用所述搜索服务从所述目标数据库中进行搜索,得到第一标识集;
从所述第一标识集中找出不存在所述第一缓存中的结果标识,作为第二标识集;
根据所述第二标识集,从所述目标数据库中获取各个所述结果简介数据,作为第一数据;
根据所述第一标识集,从所述第二缓存中搜索各个所述结果简介数据,作为第二数据;
对所述第一数据和所述第二数据进行组合,得到所述目标返回数据;
根据所述目标关键词数据和所述第一标识集更新所述第一缓存;
根据所述第一数据更新所述第二缓存。
进一步地,所述根据所述第一查询结果对应的所述结果标识数组,从预设的第二缓存中搜索各个结果简介数据,作为目标返回数据的步骤,包括:
根据所述第一查询结果对应的所述结果标识数组,从所述第二缓存中搜索各个所述结果简介数据,作为第一简介数据集;
将所述第一简介数据集中的每个所述结果简介数据对应的历史点击数据输入预设的重要性评估模型进行重要性评估,得到第一评估结果,根据各个所述第一评估结果,对所述第一简介数据集中的各个所述结果简介数据进行从高到低的排序,将排序后的所述第一简介数据集作为所述目标返回数据;
所述对所述第一数据和所述第二数据进行组合,得到所述目标返回数据的步骤,包括:
将所述第一数据和所述第二数据进行合集,得到待处理集合;
将所述待处理集合中的每个所述结果简介数据对应的所述历史点击数据输入所述重要性评估模型进行重要性评估,得到第二评估结果,根据各个所述第二评估结果,对所述待处理集合中的各个所述结果简介数据进行从高到低的排序,将排序后的所述待处理集合作为所述目标返回数据。
进一步地,所述方法还包括:
获取按预设的第一时间间隔生成的初始化信号;
响应所述初始化信号,获取高频关键词数据列表;
根据所述高频关键词数据列表中的每个高频关键词数据,从所述第一缓存中查询关键词数据,得到第二查询结果;
将所述第二查询结果为成功的所述高频关键词数据在所述第一缓存中对应的所述结果标识数组作为保留标识数组;
在所述第一缓存中,对各个所述保留标识数组以外的关联数据进行删除处理;
在所述第二缓存中,对所述结果标识不在各个所述保留标识数组中的各个所述结果简介数据进行删除处理;
将所述第二查询结果为失败的每个所述高频关键词数据,作为待补充关键词数据;
根据所述待补充关键词数据,调用所述搜索服务从所述目标数据库中进行搜索,得到第三标识集,从所述第三标识集中找出不存在所述第一缓存中的结果标识,作为第四标识集,根据所述第四标识集,从所述目标数据库中获取各个所述结果简介数据,作为第三数据,根据所述第三标识集和所述待补充关键词数据更新所述第一缓存,根据所述第三数据更新所述第二缓存。
进一步地,所述方法还包括:
获取按预设的第二时间间隔生成的主动补充信号,其中,所述第二时间间隔小于所述第一时间间隔;
根据所述主动补充信号,获取所述第一缓存中的每个关键词数据对应的第一历史搜索数据;
根据预设的关键词数据生成模型,对所述主动补充信号携带的目标热门关键词集中的每个热门关键词生成关键词数据,作为初始关键词数据集,从所述初始关键词数据集中筛选出不位于所述第一缓存中的所述关键词数据,作为待添加关键词数据集;
根据所述第一历史搜索数据和预设的趋势预测模型进行未来搜索趋势预测,得到预测结果;
根据各个所述预测结果,对所述第一缓存中筛选出能删除的各个所述关键词数据,得到候选关键词数据集;
根据预设的评估指标配置和所述待添加关键词数据集,从所述候选关键词数据集中筛选出需要删除的各个所述关键词数据,作为待删除关键词数据集;
根据所述待删除关键词数据集,对所述第一缓存及所述第二缓存进行删除更新;
根据所述待添加关键词数据集中的每个所述关键词数据,调用所述搜索服务从所述目标数据库中进行搜索,得到第五标识集,从所述第五标识集中找出不存在所述第一缓存中的结果标识,作为第六标识集,根据所述第六标识集,从所述目标数据库中获取各个所述结果简介数据,作为第四数据;
根据所述待添加关键词数据集和各个所述第五标识集更新所述第一缓存;
根据各个所述第四数据更新所述第二缓存。
进一步地,所述获取按预设的第二时间间隔生成的主动补充信号的步骤,包括:
按所述第二时间间隔,获取目标系统发送的第一热门关键词集,并获取热门关键词预测系统发送的第二热门关键词集,其中,所述热门关键词预测系统根据获取的第二历史搜索数据和预设的热门关键词预测模型预测得到所述第二热门关键词集;
对所述第一热门关键词集和所述第二热门关键词集依次进行合集、去重处理,得到所述目标热门关键词集;
根据所述目标热门关键词集生成所述主动补充信号。
进一步地,所述根据预设的评估指标配置和所述待添加关键词数据集,从所述候选关键词数据集中筛选出需要删除的各个所述关键词数据,作为待删除关键词数据集的步骤,包括:
对所述待添加关键词数据集进行关键词数据的数量计算,得到添加数量;
获取所述第二缓存的缓存空间使用比例;
将所述缓存空间使用比例和所述添加数量输入预设的删除数量计算方法计算删除数量;
根据所述评估指标配置,对所述候选关键词数据集中的每个所述关键词数据进行重要性评分,得到评分结果,其中,所述评估指标配置是根据历史总搜索量、预设时长内的搜索量生成的评估指标;
根据各个所述评分结果,对所述候选关键词数据集中的各个所述关键词数据进行正序排序;
采用从头提取的方式,从排序后的所述候选关键词数据集中提取数量与所述删除数量相同的所述关键词数据,作为所述待删除关键词数据集。
本申请还提出了一种基于分层缓存的搜索装置,所述装置包括:
请求获取模块,用于获取目标应用发送的搜索请求;
第一查询结果确定模块,用于根据所述搜索请求携带的目标关键词数据,从预设的第一缓存中查询结果标识数组,得到第一查询结果;
第一处理模块,用于若所述第一查询结果为成功,则根据所述第一查询结果对应的所述结果标识数组,从预设的第二缓存中搜索各个结果简介数据,作为目标返回数据;
第二处理模块,用于若所述第一查询结果为失败,则基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,并根据所述目标关键词数据和所述目标返回数据更新所述第一缓存及所述第二缓存;
数据反馈模块,用于将所述目标返回数据发送给所述目标应用。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取目标应用发送的搜索请求;
根据所述搜索请求携带的目标关键词数据,从预设的第一缓存中查询结果标识数组,得到第一查询结果;
若所述第一查询结果为成功,则根据所述第一查询结果对应的所述结果标识数组,从预设的第二缓存中搜索各个结果简介数据,作为目标返回数据;
若所述第一查询结果为失败,则基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,并根据所述目标关键词数据和所述目标返回数据更新所述第一缓存及所述第二缓存;
将所述目标返回数据发送给所述目标应用。
本申请还提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取目标应用发送的搜索请求;
根据所述搜索请求携带的目标关键词数据,从预设的第一缓存中查询结果标识数组,得到第一查询结果;
若所述第一查询结果为成功,则根据所述第一查询结果对应的所述结果标识数组,从预设的第二缓存中搜索各个结果简介数据,作为目标返回数据;
若所述第一查询结果为失败,则基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,并根据所述目标关键词数据和所述目标返回数据更新所述第一缓存及所述第二缓存;
将所述目标返回数据发送给所述目标应用。
本申请的基于分层缓存的搜索方法,通过在第一缓存中未缓存结果标识数组时,基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,搜索服务仅仅返回结果标识数组,不需返回结果简介数据,从而减少了搜索服务的工作量,提高了搜索服务的搜索效率;通过将结果标识数组、结果简介数据进行两级缓存,实现了结果简介数据的复用,使多个结果标识数组交叉的结果简介数据只保留一份,减少了二级缓存的缓存空间;通过一级缓存只存储结果标识数组,减少了数据量,提高了判断是否提前缓存的效率,而且首先查找一级缓存,在查找成功时搜索二级缓存,在查找失败时调用搜索服务,在减少缓存的数据的情况下,快速的确定获取结果简介数据的方式,提高了搜索效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中基于分层缓存的搜索方法的流程图;
图2为一个实施例中基于分层缓存的搜索装置的结构框图;
图3为一个实施例中计算机设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,在一个实施例中,提供了一种基于分层缓存的搜索方法。该基于分层缓存的搜索方法具体包括如下步骤:
S1:获取目标应用发送的搜索请求;
具体而言,可以获取用户输入的搜索请求,也可以获取第三方应用(比如,与实现本申请的程序对接的终端)发送的搜索请求。
S2:根据所述搜索请求携带的目标关键词数据,从预设的第一缓存中查询结果标识数组,得到第一查询结果;
目标关键词数据,是搜索请求想要搜索的关键词组合。该关键词组合中包括一个关键词或多个关键词的组合。
第一缓存包括:关键词数据和结果标识数组组成的关联数据。结果标识数组中包括一个或多个结果标识。结果标识是结果ID,用于唯一标识一个结果简介数据。
具体而言,根据所述搜索请求携带的目标关键词数据,从预设的第一缓存中的各个关键词数据中查询,若查询到与目标关键词数据的文本相同的关键词数据,则确定查询到与目标关键词数据对应的结果标识数组,此时确定所述第一查询结果为成功,若没有查询到与目标关键词数据的文本相同的关键词数据,则确定没有查询到与目标关键词数据对应的结果标识数组,此时确定所述第一查询结果为失败。
S3:若所述第一查询结果为成功,则根据所述第一查询结果对应的所述结果标识数组,从预设的第二缓存中搜索各个结果简介数据,作为目标返回数据;
结果简介数据,是搜索结果的简介数据。比如,结果简介数据包括但不限于:结果标识、标题、描述、高亮词、目标地址和图片地址。用户只需要在基于结果简介数据展示的界面中点击,即可打开搜索结果的详细页面。
具体而言,若所述第一查询结果为成功,意味着针对所述目标关键词数据有缓存的结果简介数据,此时所述第一查询结果对应的所述结果标识数组也就是缓存的与所述目标关键词数据对应的结果标识数组,因此,根据所述第一查询结果对应的所述结果标识数组,从预设的第二缓存中搜索各个结果简介数据,将获取的各个结果简介数据作为目标返回数据。
S4:若所述第一查询结果为失败,则基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,并根据所述目标关键词数据和所述目标返回数据更新所述第一缓存及所述第二缓存;
具体而言,若所述第一查找结果为失败,意味着针对所述目标关键词数据没有缓存的结果简介数据,此时需要调用搜索服务进行搜索,因此,调用搜索服务根据所述目标关键词数据从目标数据库中搜索,并返回各个结果标识;将返回的各个结果标识与缓存(一级缓存或二级缓存)进行对比,若发现有结果标识没有存在缓存中,则将该结果标识从目标数据库中获取结果简介数据,并将获取的结果简介数据更新到二级缓存,若发现有结果标识存在缓存中,则将该结果标识从所述第二缓存中获取的结果简介数据;根据返回的各个结果标识和所述目标关键词数据更新所述第一缓存;最后将从目标数据库中获取各个结果简介数据和从所述第二缓存中获取的各个结果简介数据进行组合,将组合得到的数据作为目标返回数据。从而为下一次直接从缓存获取与所述目标关键词数据对应的结果标识数组以提高搜索效率提供了基础。
S5:将所述目标返回数据发送给所述目标应用。
具体而言,将所述目标返回数据发送给所述目标应用,从而使所述目标应用快速的获取到了搜索结果。
本实施例通过在第一缓存中未缓存结果标识数组时,基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,搜索服务仅仅返回结果标识数组,不需返回结果简介数据,从而减少了搜索服务的工作量,提高了搜索服务的搜索效率;通过将结果标识数组、结果简介数据进行两级缓存,实现了结果简介数据的复用,使多个结果标识数组交叉的结果简介数据只保留一份,减少了二级缓存的缓存空间;通过一级缓存只存储结果标识数组,减少了数据量,提高了判断是否提前缓存的效率,而且首先查找一级缓存,在查找成功时搜索二级缓存,在查找失败时调用搜索服务,在减少缓存的数据的情况下,快速的确定获取结果简介数据的方式,提高了搜索效率。
在一个实施例中,上述基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,并根据所述目标关键词数据和所述目标返回数据更新所述第一缓存及所述第二缓存的步骤,包括:
S41:根据所述目标关键词数据,调用所述搜索服务从所述目标数据库中进行搜索,得到第一标识集;
具体而言,根据所述目标关键词数据,调用所述搜索服务从所述目标数据库中进行搜索,将搜索到的各个结果标识,作为第一标识集。
S42:从所述第一标识集中找出不存在所述第一缓存中的结果标识,作为第二标识集;
具体而言,从所述第一标识集中找出不存在所述第一缓存中的结果标识,作为第二标识集,从而找到了未缓存过的结果标识。
S43:根据所述第二标识集,从所述目标数据库中获取各个所述结果简介数据,作为第一数据;
具体而言,根据所述第二标识集,调用预设的数据获取接口,从所述目标数据库中获取各个所述结果简介数据,将获取的各个所述结果简介数据作为第一数据。
S44:根据所述第一标识集,从所述第二缓存中搜索各个所述结果简介数据,作为第二数据;
具体而言,根据所述第一标识集,从所述第二缓存中搜索各个所述结果简介数据,将搜索到的各个所述结果简介数据作为第二数据,从而找到了已经缓存过的各个所述结果简介数据。
S45:对所述第一数据和所述第二数据进行组合,得到所述目标返回数据;
具体而言,将所述第一数据和所述第二数据进行合集处理,得到所述目标返回数据。
S46:根据所述目标关键词数据和所述第一标识集更新所述第一缓存;
具体而言,将所述目标关键词数据和所述第一标识集作为关联数据更新到所述第一缓存。
S47:根据所述第一数据更新所述第二缓存。
具体而言,将所述第一数据添加到所述第二缓存。
本实施例通过根据所述目标关键词数据,调用所述搜索服务从所述目标数据库中进行搜索,得到第一标识集,将所述第一标识集中的不存在所述第一缓存中的结果标识从所述目标数据库中获取各个所述结果简介数据,将所述第一标识集中的存在所述第一缓存中的结果标识从所述第二缓存中搜索各个所述结果简介数据,搜索服务仅仅返回结果标识数组,不需返回结果简介数据,从而减少了搜索服务的工作量,提高了搜索服务的搜索效率。
在一个实施例中,上述根据所述第一查询结果对应的所述结果标识数组,从预设的第二缓存中搜索各个结果简介数据,作为目标返回数据的步骤,包括:
S31:根据所述第一查询结果对应的所述结果标识数组,从所述第二缓存中搜索各个所述结果简介数据,作为第一简介数据集;
具体而言,根据所述第一查询结果对应的所述结果标识数组中的每个结果标识,从所述第二缓存中搜索所述结果简介数据,将针对该所述结果标识数组搜索到的所有所述结果简介数据作为第一简介数据集。
S32:将所述第一简介数据集中的每个所述结果简介数据对应的历史点击数据输入预设的重要性评估模型进行重要性评估,得到第一评估结果,根据各个所述第一评估结果,对所述第一简介数据集中的各个所述结果简介数据进行从高到低的排序,将排序后的所述第一简介数据集作为所述目标返回数据;
重要性评估模型是多分类模型。重要性评估模型是基于神经网络训练得到的模型。
可选的,第一评估结果的取值为:一级、二级、三级、四级、五级中的任一个。一级、二级、三级、四级、五级的重要性为从低到高。
历史点击数据包括:点击时间和用户标识。用户标识是用户ID,用于唯一标识一个用户。
具体而言,将所述第一简介数据集中的每个所述结果简介数据对应的历史点击数据输入预设的重要性评估模型进行重要性评估,从评估得到的向量中提取值为最大的向量元素,将该向量元素对应的重要性标签作为所述第一评估结果。
所述对所述第一数据和所述第二数据进行组合,得到所述目标返回数据的步骤,包括:
S451:将所述第一数据和所述第二数据进行合集,得到待处理集合;
S452:将所述待处理集合中的每个所述结果简介数据对应的所述历史点击数据输入所述重要性评估模型进行重要性评估,得到第二评估结果,根据各个所述第二评估结果,对所述待处理集合中的各个所述结果简介数据进行从高到低的排序,将排序后的所述待处理集合作为所述目标返回数据。
可选的,第二评估结果的取值为:一级、二级、三级、四级、五级中的任一个。
具体而言,将所述待处理集合中的每个所述结果简介数据对应的所述历史点击数据输入所述重要性评估模型进行重要性评估,从评估得到的向量中提取值最大的向量元素,将该向量元素对应的重要性标签作为第二评估结果。
本实施例基于重要性对目标返回数据中的各个结果简介数据进行从高到低的排序,从而有利于提高点击率。
在一个实施例中,上述方法还包括:
S61:获取按预设的第一时间间隔生成的初始化信号;
具体而言,初始化信号是对一级缓存和二级缓存进行初始化的信号。
其中,可以根据第一时间间隔设置第一定时触发器,第一定时触发器在触发时间生成初始化信号。
S62:响应所述初始化信号,获取高频关键词数据列表;
具体而言,可以从数据库中获取高频关键词数据列表,也可以从第三方应用中获取高频关键词数据列表,还可以获取用户输入的高频关键词数据列表。
高频关键词数据列表,是搜索频率较高的关键词数据。
S63:根据所述高频关键词数据列表中的每个高频关键词数据,从所述第一缓存中查询关键词数据,得到第二查询结果;
具体而言,根据所述高频关键词数据列表中的每个高频关键词数据,从所述第一缓存中查询关键词数据,若查询文本相同的关键词数据,则将该高频关键词数据对应的第二查询结果确定为成功,若未查询文本相同的关键词数据,则将该高频关键词数据对应的第二查询结果确定为失败。
S64:将所述第二查询结果为成功的所述高频关键词数据在所述第一缓存中对应的所述结果标识数组作为保留标识数组;
具体而言,将所述第二查询结果为成功的所述高频关键词数据在所述第一缓存中对应的所述结果标识数组作为保留标识数组。
S65:在所述第一缓存中,对各个所述保留标识数组以外的关联数据进行删除处理;
具体而言,在所述第一缓存中,对各个所述保留标识数组以外的关联数据进行删除处理,从而实现保留所述保留标识数组对应的关联数据。
S66:在所述第二缓存中,对所述结果标识不在各个所述保留标识数组中的各个所述结果简介数据进行删除处理;
具体而言,在所述第二缓存中,对所述结果标识不在各个所述保留标识数组中的各个所述结果简介数据进行删除处理,从而实现保留所述保留标识数组对应的所述结果简介数据。
S67:将所述第二查询结果为失败的每个所述高频关键词数据,作为待补充关键词数据;
具体而言,将所述第二查询结果为失败的每个所述高频关键词数据,作为待补充关键词数据,为重新补充缓存提供了基础。
S68:根据所述待补充关键词数据,调用所述搜索服务从所述目标数据库中进行搜索,得到第三标识集,从所述第三标识集中找出不存在所述第一缓存中的结果标识,作为第四标识集,根据所述第四标识集,从所述目标数据库中获取各个所述结果简介数据,作为第三数据,根据所述第三标识集和所述待补充关键词数据更新所述第一缓存,根据所述第三数据更新所述第二缓存。
具体而言,根据所述待补充关键词数据,调用所述搜索服务从所述目标数据库中进行搜索,得到第三标识集,从所述第三标识集中找出不存在所述第一缓存中的结果标识,作为第四标识集,根据所述第四标识集,从所述目标数据库中获取各个所述结果简介数据,作为第三数据,根据所述第三标识集和所述待补充关键词数据更新所述第一缓存,根据所述第三数据更新所述第二缓存,从而实现了搜索服务只返回结果标识。
本实施例通过删除第一缓存和第二缓存中的非高频关键词数据对应的所有数据,实现了两级缓存的噪声数据的清理;通过根据未缓存的高频关键词数据,对缓存进行补充,有利于提高搜索效率;在对缓存进行补充的过程中,搜索服务仅仅返回结果标识数组,不需返回结果简介数据,从而减少了搜索服务的工作量,提高了搜索服务的搜索效率。
在一个实施例中,上述方法还包括:
S71:获取按预设的第二时间间隔生成的主动补充信号,其中,所述第二时间间隔小于所述第一时间间隔;
具体而言,主动补充信号是对一级缓存和二级缓存进行主动补充的信号。
其中,可以根据第二时间间隔设置第二定时触发器,第二定时触发器在触发时间生成主动补充信号。
所述第二时间间隔小于所述第一时间间隔,从而可以在两次初始化之间进行主动补充,进一步提高了搜索效率。
S72:根据所述主动补充信号,获取所述第一缓存中的每个关键词数据对应的第一历史搜索数据;
第一历史搜索数据包括:关键词数据、搜索时间和用户标识。
具体而言,根据所述主动补充信号,可以从预设的存储空间中获取所述第一缓存中的每个关键词数据对应的第一历史搜索数据。
S73:根据预设的关键词数据生成模型,对所述主动补充信号携带的目标热门关键词集中的每个热门关键词生成关键词数据,作为初始关键词数据集,从所述初始关键词数据集中筛选出不位于所述第一缓存中的所述关键词数据,作为待添加关键词数据集;
关键词数据生成模型,是文本生成模型。关键词数据生成模型,是基于神经网络训练得到的模型。
具体而言,将所述主动补充信号携带的目标热门关键词集中的每个热门关键词,输入关键词数据生成模型生成各个关键词数据,将目标热门关键词集对应的各个关键词数据作为初始关键词数据集,从所述初始关键词数据集中筛选出不位于所述第一缓存中的所述关键词数据,作为初始关键词数据集。
S74:根据所述第一历史搜索数据和预设的趋势预测模型进行未来搜索趋势预测,得到预测结果;
趋势预测模型,用于预测未来的搜索趋势。趋势预测模型是基于ARIMA模型(Autoregressive Integrated Moving Average model)训练得到的模型。
具体而言,将所述第一历史搜索数据输入趋势预测模型进行未来搜索趋势预测,得到预测结果。
S75:根据各个所述预测结果,对所述第一缓存中筛选出能删除的各个所述关键词数据,得到候选关键词数据集;
具体而言,基于预设的筛选规则,根据各个所述预测结果,对所述第一缓存中筛选出能删除的各个所述关键词数据,将筛选得到的各个所述关键词数据作为所述候选关键词数据集。
S76:根据预设的评估指标配置和所述待添加关键词数据集,从所述候选关键词数据集中筛选出需要删除的各个所述关键词数据,作为待删除关键词数据集;
具体而言,根据预设的评估指标配置,对所述候选关键词数据集中的所述关键词数据进行重要性评分,根据各个重要性评分和所述待添加关键词数据集中的关键词数据的数量,从所述候选关键词数据集中筛选出需要删除的各个所述关键词数据,作为待删除关键词数据集。
S77:根据所述待删除关键词数据集,对所述第一缓存及所述第二缓存进行删除更新;
具体而言,首先在所述第一缓存中,删除所述待删除关键词数据集对应的所有关联数据(也就是关键词数据和结果标识数组),然后在所述第二缓存中,在结果标识未位于所述第一缓存中的结果简介数据进行删除。可以理解的是,在所述第二缓存中,在结果标识位于所述第一缓存中的结果简介数据不进行删除,避免在根据所述第一查询结果对应的所述结果标识数组从预设的第二缓存中搜索各个结果简介数据时出现错误。
S78:根据所述待添加关键词数据集中的每个所述关键词数据,调用所述搜索服务从所述目标数据库中进行搜索,得到第五标识集,从所述第五标识集中找出不存在所述第一缓存中的结果标识,作为第六标识集,根据所述第六标识集,从所述目标数据库中获取各个所述结果简介数据,作为第四数据;
S79:根据所述待添加关键词数据集和各个所述第五标识集更新所述第一缓存;
具体而言,将所述待添加关键词数据集中的每个关键词数据和该关键词数据对应的所述第五标识集作为关联数据,将该关联数据更新所述第一缓存。
S710:根据各个所述第四数据更新所述第二缓存。
本实施例通过所述第二时间间隔小于所述第一时间间隔,从而可以在两次初始化之间进行主动补充,进一步提高了搜索效率;通过基于趋势预测模型的预测结果筛选出所述关键词数据,在缓存中保留下未来一段时间搜索可能性较大的关键词数据对应的相关数据,在服务器性能有限的情况下,进一步提高了搜索效率。
在一个实施例中,上述获取按预设的第二时间间隔生成的主动补充信号的步骤,包括:
S711:按所述第二时间间隔,获取目标系统发送的第一热门关键词集,并获取热门关键词预测系统发送的第二热门关键词集,其中,所述热门关键词预测系统根据获取的第二历史搜索数据和预设的热门关键词预测模型预测得到所述第二热门关键词集;
目标系统,是第三方的应用系统。
热门关键词预测模型是一个多分类模型,该模型的每个分类标签对应一个词语。
第二历史搜索数据可以是实现本申请的应用对应的历史搜索数据,也可以是实现本申请的应用同一个组织对应的各个系统对应的历史搜索数据。第二历史搜索数据包括:关键词数据、搜索时间和用户标识。
具体而言,将第二历史搜索数据输入热门关键词预测模型进行分类预测,得到向量,从该向量提取值大于预设数值的向量元素,将提取的每个向量元素对应的分类标签对应的词语作为一个热门关键词,将提取得到的各个热门关键词作为所述第二热门关键词集。
S712:对所述第一热门关键词集和所述第二热门关键词集依次进行合集、去重处理,得到所述目标热门关键词集;
具体而言,对所述第一热门关键词集和所述第二热门关键词集依次进行合集,对合集得到的集合中的各个热门关键词进行去重处理,得到所述目标热门关键词集。
S713:根据所述目标热门关键词集生成所述主动补充信号。
本实施例通过目标系统获取第三方的第一热门关键词集,通过热门关键词预测系统获取组织内部的第二热门关键词集,快速的确定热门关键词,为基于热门关键词主动主动补充缓存提供了基础。
在一个实施例中,上述根据预设的评估指标配置和所述待添加关键词数据集,从所述候选关键词数据集中筛选出需要删除的各个所述关键词数据,作为待删除关键词数据集的步骤,包括:
S761:对所述待添加关键词数据集进行关键词数据的数量计算,得到添加数量;
S762:获取所述第二缓存的缓存空间使用比例;
S763:将所述缓存空间使用比例和所述添加数量输入预设的删除数量计算方法计算删除数量;
具体而言,将所述缓存空间使用比例和所述添加数量输入预设的删除数量计算方法进行计算,将计算得到的数量作为删除数量。
S764:根据所述评估指标配置,对所述候选关键词数据集中的每个所述关键词数据进行重要性评分,得到评分结果,其中,所述评估指标配置是根据历史总搜索量、预设时长内的搜索量生成的评估指标;
具体而言,根据所述评估指标配置,对所述候选关键词数据集中的每个所述关键词数据进行重要性评分,将评分得到的数据作为评分结果。
评分结果是一个0到100的数值,可以是0,也可以是100,该数值越大重要性越高。
所述评估指标配置包括:总搜索量评分指标、近期搜索评分指标、权重集。其中,将所述候选关键词数据集中的每个所述关键词数据对应的历史总搜索量输入总搜索量评分指标,得到第一评分,将所述候选关键词数据集中的每个所述关键词数据对应的预设时长内的搜索量输入总近期搜索评分指标,得到第二评分,根据权重集,对同一个关键词数据对应的第一评分及第二评分进行加权求和,得到该关键词数据对应的评分结果。
S765:根据各个所述评分结果,对所述候选关键词数据集中的各个所述关键词数据进行正序排序;
具体而言,根据各个所述评分结果,对所述候选关键词数据集中的各个所述关键词数据进行正序排序,也就是所述评分结果的值低的排前面,所述评分结果的值高的排后面。
S766:采用从头提取的方式,从排序后的所述候选关键词数据集中提取数量与所述删除数量相同的所述关键词数据,作为所述待删除关键词数据集。
具体而言,采用从头提取的方式,从排序后的所述候选关键词数据集中提取数量与所述删除数量相同的所述关键词数据,从而提取出重要性最低的多个所述关键词数据,将提取的所有所述关键词数据作为所述待删除关键词数据集。
本实施例提取出重要性最低的多个所述关键词数据作为所述待删除关键词数据集,避免将重要性高的关键词数据对应的相关数据从缓存中删除。
如图2所示,在一个实施例中,本申请还提出了一种基于分层缓存的搜索装置,所述装置包括:
请求获取模块801,用于获取目标应用发送的搜索请求;
第一查询结果确定模块802,用于根据所述搜索请求携带的目标关键词数据,从预设的第一缓存中查询结果标识数组,得到第一查询结果;
第一处理模块803,用于若所述第一查询结果为成功,则根据所述第一查询结果对应的所述结果标识数组,从预设的第二缓存中搜索各个结果简介数据,作为目标返回数据;
第二处理模块804,用于若所述第一查询结果为失败,则基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,并根据所述目标关键词数据和所述目标返回数据更新所述第一缓存及所述第二缓存;
数据反馈模块805,用于将所述目标返回数据发送给所述目标应用。
本实施例通过在第一缓存中未缓存结果标识数组时,基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,搜索服务仅仅返回结果标识数组,不需返回结果简介数据,从而减少了搜索服务的工作量,提高了搜索服务的搜索效率;通过将结果标识数组、结果简介数据进行两级缓存,实现了结果简介数据的复用,使多个结果标识数组交叉的结果简介数据只保留一份,减少了二级缓存的缓存空间;通过一级缓存只存储结果标识数组,减少了数据量,提高了判断是否提前缓存的效率,而且首先查找一级缓存,在查找成功时搜索二级缓存,在查找失败时调用搜索服务,在减少缓存的数据的情况下,快速的确定获取结果简介数据的方式,提高了搜索效率。
图3示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图3所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现基于分层缓存的搜索方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行基于分层缓存的搜索方法。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取目标应用发送的搜索请求;
根据所述搜索请求携带的目标关键词数据,从预设的第一缓存中查询结果标识数组,得到第一查询结果;
若所述第一查询结果为成功,则根据所述第一查询结果对应的所述结果标识数组,从预设的第二缓存中搜索各个结果简介数据,作为目标返回数据;
若所述第一查询结果为失败,则基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,并根据所述目标关键词数据和所述目标返回数据更新所述第一缓存及所述第二缓存;
将所述目标返回数据发送给所述目标应用。
本实施例通过在第一缓存中未缓存结果标识数组时,基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,搜索服务仅仅返回结果标识数组,不需返回结果简介数据,从而减少了搜索服务的工作量,提高了搜索服务的搜索效率;通过将结果标识数组、结果简介数据进行两级缓存,实现了结果简介数据的复用,使多个结果标识数组交叉的结果简介数据只保留一份,减少了二级缓存的缓存空间;通过一级缓存只存储结果标识数组,减少了数据量,提高了判断是否提前缓存的效率,而且首先查找一级缓存,在查找成功时搜索二级缓存,在查找失败时调用搜索服务,在减少缓存的数据的情况下,快速的确定获取结果简介数据的方式,提高了搜索效率。
在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取目标应用发送的搜索请求;
根据所述搜索请求携带的目标关键词数据,从预设的第一缓存中查询结果标识数组,得到第一查询结果;
若所述第一查询结果为成功,则根据所述第一查询结果对应的所述结果标识数组,从预设的第二缓存中搜索各个结果简介数据,作为目标返回数据;
若所述第一查询结果为失败,则基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,并根据所述目标关键词数据和所述目标返回数据更新所述第一缓存及所述第二缓存;
将所述目标返回数据发送给所述目标应用。
本实施例通过在第一缓存中未缓存结果标识数组时,基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,搜索服务仅仅返回结果标识数组,不需返回结果简介数据,从而减少了搜索服务的工作量,提高了搜索服务的搜索效率;通过将结果标识数组、结果简介数据进行两级缓存,实现了结果简介数据的复用,使多个结果标识数组交叉的结果简介数据只保留一份,减少了二级缓存的缓存空间;通过一级缓存只存储结果标识数组,减少了数据量,提高了判断是否提前缓存的效率,而且首先查找一级缓存,在查找成功时搜索二级缓存,在查找失败时调用搜索服务,在减少缓存的数据的情况下,快速的确定获取结果简介数据的方式,提高了搜索效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种基于分层缓存的搜索方法,所述方法包括:
获取目标应用发送的搜索请求;
根据所述搜索请求携带的目标关键词数据,从预设的第一缓存中查询结果标识数组,得到第一查询结果;
若所述第一查询结果为成功,则根据所述第一查询结果对应的所述结果标识数组,从预设的第二缓存中搜索各个结果简介数据,作为目标返回数据;
若所述第一查询结果为失败,则基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,并根据所述目标关键词数据和所述目标返回数据更新所述第一缓存及所述第二缓存,包括:根据所述目标关键词数据,调用所述搜索服务从所述目标数据库中进行搜索,得到第一标识集;从所述第一标识集中找出不存在所述第一缓存中的结果标识,作为第二标识集;根据所述第二标识集,从所述目标数据库中获取各个所述结果简介数据,作为第一数据;根据所述第一标识集,从所述第二缓存中搜索各个所述结果简介数据,作为第二数据;对所述第一数据和所述第二数据进行组合,得到所述目标返回数据;根据所述目标关键词数据和所述第一标识集更新所述第一缓存;根据所述第一数据更新所述第二缓存;
将所述目标返回数据发送给所述目标应用。
2.根据权利要求1所述的基于分层缓存的搜索方法,其特征在于,所述根据所述第一查询结果对应的所述结果标识数组,从预设的第二缓存中搜索各个结果简介数据,作为目标返回数据的步骤,包括:
根据所述第一查询结果对应的所述结果标识数组,从所述第二缓存中搜索各个所述结果简介数据,作为第一简介数据集;
将所述第一简介数据集中的每个所述结果简介数据对应的历史点击数据输入预设的重要性评估模型进行重要性评估,得到第一评估结果,根据各个所述第一评估结果,对所述第一简介数据集中的各个所述结果简介数据进行从高到低的排序,将排序后的所述第一简介数据集作为所述目标返回数据;
所述对所述第一数据和所述第二数据进行组合,得到所述目标返回数据的步骤,包括:
将所述第一数据和所述第二数据进行合集,得到待处理集合;
将所述待处理集合中的每个所述结果简介数据对应的所述历史点击数据输入所述重要性评估模型进行重要性评估,得到第二评估结果,根据各个所述第二评估结果,对所述待处理集合中的各个所述结果简介数据进行从高到低的排序,将排序后的所述待处理集合作为所述目标返回数据。
3.根据权利要求1所述的基于分层缓存的搜索方法,其特征在于,所述方法还包括:
获取按预设的第一时间间隔生成的初始化信号;
响应所述初始化信号,获取高频关键词数据列表;
根据所述高频关键词数据列表中的每个高频关键词数据,从所述第一缓存中查询关键词数据,得到第二查询结果;
将所述第二查询结果为成功的所述高频关键词数据在所述第一缓存中对应的所述结果标识数组作为保留标识数组;
在所述第一缓存中,对各个所述保留标识数组以外的关联数据进行删除处理;
在所述第二缓存中,对所述结果标识不在各个所述保留标识数组中的各个所述结果简介数据进行删除处理;
将所述第二查询结果为失败的每个所述高频关键词数据,作为待补充关键词数据;
根据所述待补充关键词数据,调用所述搜索服务从所述目标数据库中进行搜索,得到第三标识集,从所述第三标识集中找出不存在所述第一缓存中的结果标识,作为第四标识集,根据所述第四标识集,从所述目标数据库中获取各个所述结果简介数据,作为第三数据,根据所述第三标识集和所述待补充关键词数据更新所述第一缓存,根据所述第三数据更新所述第二缓存。
4.根据权利要求3所述的基于分层缓存的搜索方法,其特征在于,所述方法还包括:
获取按预设的第二时间间隔生成的主动补充信号,其中,所述第二时间间隔小于所述第一时间间隔;
根据所述主动补充信号,获取所述第一缓存中的每个关键词数据对应的第一历史搜索数据;
根据预设的关键词数据生成模型,对所述主动补充信号携带的目标热门关键词集中的每个热门关键词生成关键词数据,作为初始关键词数据集,从所述初始关键词数据集中筛选出不位于所述第一缓存中的所述关键词数据,作为待添加关键词数据集;
根据所述第一历史搜索数据和预设的趋势预测模型进行未来搜索趋势预测,得到预测结果;
根据各个所述预测结果,对所述第一缓存中筛选出能删除的各个所述关键词数据,得到候选关键词数据集;
根据预设的评估指标配置和所述待添加关键词数据集,从所述候选关键词数据集中筛选出需要删除的各个所述关键词数据,作为待删除关键词数据集;
根据所述待删除关键词数据集,对所述第一缓存及所述第二缓存进行删除更新;
根据所述待添加关键词数据集中的每个所述关键词数据,调用所述搜索服务从所述目标数据库中进行搜索,得到第五标识集,从所述第五标识集中找出不存在所述第一缓存中的结果标识,作为第六标识集,根据所述第六标识集,从所述目标数据库中获取各个所述结果简介数据,作为第四数据;
根据所述待添加关键词数据集和各个所述第五标识集更新所述第一缓存;
根据各个所述第四数据更新所述第二缓存。
5.根据权利要求4所述的基于分层缓存的搜索方法,其特征在于,所述获取按预设的第二时间间隔生成的主动补充信号的步骤,包括:
按所述第二时间间隔,获取目标系统发送的第一热门关键词集,并获取热门关键词预测系统发送的第二热门关键词集,其中,所述热门关键词预测系统根据获取的第二历史搜索数据和预设的热门关键词预测模型预测得到所述第二热门关键词集;
对所述第一热门关键词集和所述第二热门关键词集依次进行合集、去重处理,得到所述目标热门关键词集;
根据所述目标热门关键词集生成所述主动补充信号。
6.根据权利要求4所述的基于分层缓存的搜索方法,其特征在于,所述根据预设的评估指标配置和所述待添加关键词数据集,从所述候选关键词数据集中筛选出需要删除的各个所述关键词数据,作为待删除关键词数据集的步骤,包括:
对所述待添加关键词数据集进行关键词数据的数量计算,得到添加数量;
获取所述第二缓存的缓存空间使用比例;
将所述缓存空间使用比例和所述添加数量输入预设的删除数量计算方法计算删除数量;
根据所述评估指标配置,对所述候选关键词数据集中的每个所述关键词数据进行重要性评分,得到评分结果,其中,所述评估指标配置是根据历史总搜索量、预设时长内的搜索量生成的评估指标;
根据各个所述评分结果,对所述候选关键词数据集中的各个所述关键词数据进行正序排序;
采用从头提取的方式,从排序后的所述候选关键词数据集中提取数量与所述删除数量相同的所述关键词数据,作为所述待删除关键词数据集。
7.一种基于分层缓存的搜索装置,其特征在于,所述装置包括:
请求获取模块,用于获取目标应用发送的搜索请求;
第一查询结果确定模块,用于根据所述搜索请求携带的目标关键词数据,从预设的第一缓存中查询结果标识数组,得到第一查询结果;
第一处理模块,用于若所述第一查询结果为成功,则根据所述第一查询结果对应的所述结果标识数组,从预设的第二缓存中搜索各个结果简介数据,作为目标返回数据;
第二处理模块,用于若所述第一查询结果为失败,则基于搜索服务仅返回结果标识的原则,根据预设的搜索服务、预设的目标数据库、所述目标关键词数据和所述第二缓存,确定所述目标返回数据,并根据所述目标关键词数据和所述目标返回数据更新所述第一缓存及所述第二缓存,包括:根据所述目标关键词数据,调用所述搜索服务从所述目标数据库中进行搜索,得到第一标识集;从所述第一标识集中找出不存在所述第一缓存中的结果标识,作为第二标识集;根据所述第二标识集,从所述目标数据库中获取各个所述结果简介数据,作为第一数据;根据所述第一标识集,从所述第二缓存中搜索各个所述结果简介数据,作为第二数据;对所述第一数据和所述第二数据进行组合,得到所述目标返回数据;根据所述目标关键词数据和所述第一标识集更新所述第一缓存;根据所述第一数据更新所述第二缓存;
数据反馈模块,用于将所述目标返回数据发送给所述目标应用。
8.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310024202.9A CN115794892B (zh) | 2023-01-09 | 2023-01-09 | 基于分层缓存的搜索方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310024202.9A CN115794892B (zh) | 2023-01-09 | 2023-01-09 | 基于分层缓存的搜索方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115794892A CN115794892A (zh) | 2023-03-14 |
CN115794892B true CN115794892B (zh) | 2023-05-23 |
Family
ID=85428803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310024202.9A Active CN115794892B (zh) | 2023-01-09 | 2023-01-09 | 基于分层缓存的搜索方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794892B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794228A (zh) * | 2015-04-30 | 2015-07-22 | 北京奇艺世纪科技有限公司 | 一种搜索结果提供方法及装置 |
WO2020057022A1 (zh) * | 2018-09-18 | 2020-03-26 | 深圳壹账通智能科技有限公司 | 关联推荐方法、装置、计算机设备和存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6457020B1 (en) * | 2000-03-20 | 2002-09-24 | International Business Machines Corporation | Query optimization using a multi-layered object cache |
US20040148279A1 (en) * | 2001-06-20 | 2004-07-29 | Nir Peleg | Scalable distributed hierarchical cache |
TWI370691B (en) * | 2005-01-19 | 2012-08-11 | Via Tech Inc | A method and system for hierarchical search with cache |
US9083725B2 (en) * | 2013-08-12 | 2015-07-14 | Fred Korangy | System and method providing hierarchical cache for big data applications |
CN105528463B (zh) * | 2016-01-21 | 2018-12-14 | 北京奇艺世纪科技有限公司 | 一种搜索引擎的索引数据加载方法和装置 |
CN107526762A (zh) * | 2017-02-28 | 2017-12-29 | 天津转知汇网络技术有限公司 | 服务端、多数据源搜索方法和系统 |
US11403354B2 (en) * | 2019-04-16 | 2022-08-02 | International Business Machines Corporation | Managing search queries of a search service |
CN114116762A (zh) * | 2021-11-23 | 2022-03-01 | 天翼数字生活科技有限公司 | 一种离线数据模糊搜索方法、装置、设备和介质 |
CN114547095A (zh) * | 2022-02-10 | 2022-05-27 | 深圳市翼海云峰科技有限公司 | 一种数据快速查询方法、装置、电子设备和存储介质 |
-
2023
- 2023-01-09 CN CN202310024202.9A patent/CN115794892B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794228A (zh) * | 2015-04-30 | 2015-07-22 | 北京奇艺世纪科技有限公司 | 一种搜索结果提供方法及装置 |
WO2020057022A1 (zh) * | 2018-09-18 | 2020-03-26 | 深圳壹账通智能科技有限公司 | 关联推荐方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
信息通信.基于Seam的Web系统多层缓存策略设计与实现.信息通信.2011,(第6期),第64-65页. * |
熊亚军.一种基于本体和多级缓存的视频检索技术研究.《中国优秀硕士学位论文全文数据库(信息科技辑)》.2019,第1-43页. * |
Also Published As
Publication number | Publication date |
---|---|
CN115794892A (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569437B (zh) | 点击概率预测、页面内容推荐方法和装置 | |
US11481402B2 (en) | Search ranking method and apparatus, electronic device and storage medium | |
CN110909182B (zh) | 多媒体资源搜索方法、装置、计算机设备及存储介质 | |
US20180107933A1 (en) | Web page training method and device, and search intention identifying method and device | |
CN108986910B (zh) | 线上问答方法、装置、计算机设备和存储介质 | |
CN108334632B (zh) | 实体推荐方法、装置、计算机设备和计算机可读存储介质 | |
CN109446407A (zh) | 关联推荐方法、装置、计算机设备和存储介质 | |
CN110032682B (zh) | 一种信息推荐列表生成方法、装置及设备 | |
CN112015898B (zh) | 基于标签树的模型训练、文本标签确定方法及装置 | |
CN114117240B (zh) | 基于大数据需求分析的互联网内容推送方法及ai系统 | |
CN111506820A (zh) | 推荐模型、方法、装置、设备及存储介质 | |
CN114090663B (zh) | 应用人工智能的用户需求预测方法及大数据优化系统 | |
CN111782870B (zh) | 基于强化学习的对抗性视频时刻检索方法、装置、计算机设备和存储介质 | |
CN110210506B (zh) | 基于大数据的特征处理方法、装置和计算机设备 | |
CN113642730A (zh) | 卷积网络剪枝方法和装置、电子设备 | |
CN109754135B (zh) | 信用行为数据处理方法、装置、存储介质和计算机设备 | |
CN112632296A (zh) | 基于知识图谱具有可解释性的论文推荐方法及系统、终端 | |
CN112559777A (zh) | 内容项投放方法、装置、计算机设备及存储介质 | |
CN115794892B (zh) | 基于分层缓存的搜索方法、装置、设备及介质 | |
Costantini et al. | Impact of popular content relational structure on joint caching and recommendation policies | |
CN109460500B (zh) | 热点事件发现方法、装置、计算机设备和存储介质 | |
CN111597444B (zh) | 一种搜索方法、装置、服务器、存储介质 | |
CN109325119A (zh) | 新闻情感分析的方法、装置、计算机设备和存储介质 | |
CN114625967A (zh) | 基于大数据业务优化的用户信息挖掘方法及人工智能系统 | |
Bangar et al. | Investigation and performance improvement of web cache recommender system |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |