CN115905323B - 适用于多种搜索策略的搜索方法、装置、设备及介质 - Google Patents

适用于多种搜索策略的搜索方法、装置、设备及介质 Download PDF

Info

Publication number
CN115905323B
CN115905323B CN202310024504.6A CN202310024504A CN115905323B CN 115905323 B CN115905323 B CN 115905323B CN 202310024504 A CN202310024504 A CN 202310024504A CN 115905323 B CN115905323 B CN 115905323B
Authority
CN
China
Prior art keywords
result
data
search
target
identifier
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
Application number
CN202310024504.6A
Other languages
English (en)
Other versions
CN115905323A (zh
Inventor
朱建伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changsha Developer Technology Co ltd
Beijing Innovation Lezhi Network Technology Co ltd
Original Assignee
Changsha Developer Technology Co ltd
Beijing Innovation Lezhi Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Changsha Developer Technology Co ltd, Beijing Innovation Lezhi Network Technology Co ltd filed Critical Changsha Developer Technology Co ltd
Priority to CN202310024504.6A priority Critical patent/CN115905323B/zh
Publication of CN115905323A publication Critical patent/CN115905323A/zh
Application granted granted Critical
Publication of CN115905323B publication Critical patent/CN115905323B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种适用于多种搜索策略的搜索方法、装置、设备及介质,其中方法包括:根据基于目标搜索策略和目标请求内容得到的拼接数据,从一级缓存中查找结果标识数组;若成功,对查找到的结果标识数组中的带未存储标记的各个结果标识从二级缓存中获取各个结果简介数据,且,对查找到的结果标识数组中的不带未存储标记的各个结果标识从业务数据库中获取各个结果简介数据,得到目标数据;若失败,根据拼接数据,调用搜索引擎从业务数据库中搜索各个结果简介数据,得到目标数据,根据拼接数据和目标数据更新一级缓存和二级缓存;将目标数据发送给目标调用对象。使本申请满足了满足个性化的搜索需求,降低了整个缓存占用的存储资源。

Description

适用于多种搜索策略的搜索方法、装置、设备及介质
技术领域
本发明涉及通信技术领域,尤其涉及一种适用于多种搜索策略的搜索方法、装置、设备及介质。
背景技术
随着计算机技术的发展,对搜索服务的需求暴增。目前对搜索结果进行缓存,以提高搜索请求的效率。目前的每个搜索请求采用固定的搜索策略,无法满足个性化的搜索需求;目前的搜索结果的缓存方式是针对每个搜索策略开辟独立的存储资源,导致占用大量的缓存空间。
发明内容
基于此,有必要针对目前的每个搜索请求采用固定的搜索策略,无法满足个性化的搜索需求,而搜索结果的缓存方式是针对每个搜索策略开辟独立的存储资源,导致占用大量的缓存空间的技术问题,提出了一种适用于多种搜索策略的搜索方法、装置、设备及介质。
本申请提出了一种适用于多种搜索策略的搜索方法,所述方法包括:
获取搜索请求,并根据所述搜索请求确定目标搜索策略和目标请求内容,将所述目标搜索策略和所述目标请求内容进行拼接,得到拼接数据;
根据所述拼接数据,从预设的一级缓存中查找结果标识数组,得到第一查找结果;
若所述第一查找结果为成功,则对所述第一查找结果对应的所述结果标识数组中的不带未存储标记的各个结果标识从预设的二级缓存中获取各个结果简介数据,且,对所述第一查找结果对应的所述结果标识数组中的带所述未存储标记的各个结果标识从预设的业务数据库中获取各个结果简介数据,得到目标数据;
若所述第一查找结果为失败,根据所述拼接数据,调用预设的搜索引擎从所述业务数据库中搜索各个所述结果简介数据,得到所述目标数据,根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存;
将所述目标数据发送给所述搜索请求对应的目标调用对象。
进一步地,所述将所述目标数据发送给所述搜索请求对应的目标调用对象的步骤,包括:
将所述搜索请求携带的请求标识,更新到所述一级缓存中的与所述拼接数据对应的占用数据;
将所述目标数据发送给所述搜索请求对应的所述目标调用对象;
获取所述目标调用对象根据所述目标数据发送的下载完成信号;
响应所述下载完成信号,将所述下载完成信号携带的所述请求标识,从所述一级缓存中的与所述拼接数据对应的所述占用数据中进行删除。
进一步地,所述将所述目标数据发送给所述搜索请求对应的目标调用对象的步骤之后,还包括:
获取预设时长内的搜索请求集;
根据所述搜索请求集获取结果点击数据集;
对所述结果点击数据集,按搜索策略进行划分,得到各个单策略点击数据集;
基于同一个所述搜索策略对应的策略质量评估配置及所述单策略点击数据集进行策略质量评估,得到评估结果;
判断每个所述评估结果是否满足预设结果配置;
将不满足所述预设结果配置的每个所述评估结果对应的所述搜索策略作为待删除策略;
根据所述待删除策略,从所述一级缓存中查找每个所述结果标识数组,得到待评估数组;
将所述一级缓存中的所述占用数据为空的每个所述待评估数组作为第一删除数组;
将所述待删除策略及所述第一删除数组对应的关联数据从所述一级缓存中删除;
分别将所述二级缓存中的与所述第一删除数组中的每个结果标识对应的引用次数减1;
判断所述二级缓存中是否存在所述引用次数为0的所述结果标识;
若存在,则将所述引用次数为0的每个所述结果标识对应的所述结果简介数据从所述二级缓存中删除。
进一步地,所述根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存的步骤,还包括:
判断所述目标搜索策略是否位于预设的热门策略列表;
若是,则根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存;
若否,则根据所述拼接数据和所述目标数据更新所述一级缓存,并从所述目标数据中找出不位于所述二级缓存的每个结果标识,得到第一标识,对所述一级缓存中的与所述第一标识对应的结果标识打上所述未存储标记,从所述目标数据中找出位于所述二级缓存的每个所述结果标识,得到第二标识,将所述二级缓存中的与所述第二标识对应的引用次数增加1。
进一步地,所述根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存的步骤,包括:
将所述目标数据中的各个所述结果标识进行组合,得到目标标识集;
对所述一级缓存中的与所述目标标识集对应的所有结果标识的所述未存储标记进行删除处理,并将所述拼接数据和所述目标标识集作为关联数据添加到所述一级缓存;
将所述目标标识集中的每个所述结果标识,在所述二级缓存进行查找,得到第二查找结果;
将所述第二查找结果为成功的每个所述结果标识作为已有标识,将所述二级缓存中的与所述已有标识对应的所述引用次数增加1;
将所述第二查找结果为失败的每个所述结果标识作为新增标识,将所述新增标识对应的所述结果简介数据添加到所述二级缓存,并根据所述一级缓存,更新所述二级缓存中的与所述新增标识对应的所述引用次数。
进一步地,所述根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存的步骤之后,还包括:
获取缓存清除请求;
响应所述缓存清除请求,根据预设的缓存清除配置,从所述一级缓存中查找关联数据,作为待处理关联数据;
将所述一级缓存中的所述占用数据为空的每个所述待处理关联数据作为待删除关联数据;
将所述一级缓存中的与所述待删除关联数据对应的关联数据进行删除处理,将所述二级缓存中的与所述待删除关联数据的每个所述结果标识对应的引用次数减1;
判断所述二级缓存中是否存在所述引用次数为0的所述结果标识;
若存在,则将所述待删除关联数据中的所述引用次数为0的每个所述结果标识对应的所述结果简介数据从所述二级缓存中删除;
所述对所述第一查找结果对应的所述结果标识数组中的不带未存储标记的各个结果标识从预设的二级缓存中获取各个结果简介数据,且,对所述第一查找结果对应的所述结果标识数组中的带所述未存储标记的各个结果标识从预设的业务数据库中获取各个结果简介数据,得到目标数据的步骤,包括:
将所述第一查找结果对应的所述结果标识数组作为目标数组;
将所述目标数组中的带所述未存储标记的各个所述结果标识作为未存储简介集,并将所述目标数组中的不带所述未存储标记的各个所述结果标识作为已存储简介集;
根据所述已存储简介集,从所述二级缓存中获取各个所述结果简介数据,得到第一简介数据集;
根据所述未存储简介集,从所述业务数据库中查找各个所述结果简介数据,得到第二简介数据集;
将所述第一简介数据集和所述第二简介数据集进行合集处理,得到所述目标数据。
进一步地,所述获取缓存清除请求的步骤之前,还包括:
按预设时间间隔获取所述二级缓存对应的目标数据量;
若所述目标数据量大于预设数据量阈值,则生成所述缓存清除请求。
本申请还提出了一种适用于多种搜索策略的搜索装置,所述装置包括:
请求获取模块,用于获取搜索请求,并根据所述搜索请求确定目标搜索策略和目标请求内容,将所述目标搜索策略和所述目标请求内容进行拼接,得到拼接数据;
第一查找结果确定模块,用于根据所述拼接数据,从预设的一级缓存中查找结果标识数组,得到第一查找结果;
第一处理模块,用于若所述第一查找结果为成功,则对所述第一查找结果对应的所述结果标识数组中的不带未存储标记的各个结果标识从预设的二级缓存中获取各个结果简介数据,且,对所述第一查找结果对应的所述结果标识数组中的带所述未存储标记的各个结果标识从预设的业务数据库中获取各个结果简介数据,得到目标数据;
第二处理模块,用于若所述第一查找结果为失败,根据所述拼接数据,调用预设的搜索引擎从所述业务数据库中搜索各个所述结果简介数据,得到所述目标数据,根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存;
数据反馈模块,用于将所述目标数据发送给所述搜索请求对应的目标调用对象。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取搜索请求,并根据所述搜索请求确定目标搜索策略和目标请求内容,将所述目标搜索策略和所述目标请求内容进行拼接,得到拼接数据;
根据所述拼接数据,从预设的一级缓存中查找结果标识数组,得到第一查找结果;
若所述第一查找结果为成功,则对所述第一查找结果对应的所述结果标识数组中的不带未存储标记的各个结果标识从预设的二级缓存中获取各个结果简介数据,且,对所述第一查找结果对应的所述结果标识数组中的带所述未存储标记的各个结果标识从预设的业务数据库中获取各个结果简介数据,得到目标数据;
若所述第一查找结果为失败,根据所述拼接数据,调用预设的搜索引擎从所述业务数据库中搜索各个所述结果简介数据,得到所述目标数据,根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存;
将所述目标数据发送给所述搜索请求对应的目标调用对象。
本申请还提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取搜索请求,并根据所述搜索请求确定目标搜索策略和目标请求内容,将所述目标搜索策略和所述目标请求内容进行拼接,得到拼接数据;
根据所述拼接数据,从预设的一级缓存中查找结果标识数组,得到第一查找结果;
若所述第一查找结果为成功,则对所述第一查找结果对应的所述结果标识数组中的不带未存储标记的各个结果标识从预设的二级缓存中获取各个结果简介数据,且,对所述第一查找结果对应的所述结果标识数组中的带所述未存储标记的各个结果标识从预设的业务数据库中获取各个结果简介数据,得到目标数据;
若所述第一查找结果为失败,根据所述拼接数据,调用预设的搜索引擎从所述业务数据库中搜索各个所述结果简介数据,得到所述目标数据,根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存;
将所述目标数据发送给所述搜索请求对应的目标调用对象。
本申请的适用于多种搜索策略的搜索方法,通过将所述目标搜索策略和所述目标请求内容进行拼接得到的拼接数据作为搜索的依据,使目标请求能个性化的指定搜索策略,而最终搜索得到的目标数据是针对目标搜索策略的,从而满足了满足个性化的搜索需求;通过将所述目标搜索策略和所述目标请求内容进行拼接作为搜索及缓存的依据,针对所有搜索策略设置一个缓存空间,降低了缓存占用的存储资源;通过将结果标识数组、结果简介数据进行两级缓存,实现了结果简介数据的复用,使多个结果标识数组交叉的结果简介数据只保留一份,减少了二级缓存的存储资源,进一步降低了整个缓存占用的存储资源;通过一级缓存只存储结果标识数组,减少了数据量,提高了判断是否提前缓存的效率,而且首先查找一级缓存,在查找成功时搜索二级缓存,在查找失败时调用搜索引擎,在减少缓存的数据的情况下,快速的确定获取结果简介数据的方式,提高了搜索效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中适用于多种搜索策略的搜索方法的流程图;
图2为一个实施例中适用于多种搜索策略的搜索装置的结构框图;
图3为一个实施例中计算机设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,在一个实施例中,提供了一种适用于多种搜索策略的搜索方法。该适用于多种搜索策略的搜索方法具体包括如下步骤:
S1:获取搜索请求,并根据所述搜索请求确定目标搜索策略和目标请求内容,将所述目标搜索策略和所述目标请求内容进行拼接,得到拼接数据;
具体而言,可以获取用户输入的搜索请求,也可以获取第三方应用(比如,与实现本申请的程序对接的终端)发送的搜索请求。
可选的,搜索请求携带有目标搜索策略和目标请求内容,通过对搜索请求携带的数据进行解析,即可确定目标搜索策略和目标请求内容。
目标搜索策略,是搜索请求想要采用的搜索策略。
目标请求内容,是搜索请求想要搜索的关键词组合。该关键词组合中包括一个关键词或多个关键词的组合。
其中,按预设的拼接方式,将所述目标搜索策略和所述目标请求内容进行拼接,得到拼接数据。
S2:根据所述拼接数据,从预设的一级缓存中查找结果标识数组,得到第一查找结果;
结果标识数组中包括一个或多个结果标识。结果标识是结果ID,用于唯一标识一个结果简介数据。
具体而言,从预设的一级缓存中查找与所述拼接数据对应的结果标识数组,若查找到与所述拼接数据对应的结果标识数组,则确定所述第一查找结果为成功,若未查找到与所述拼接数据对应的结果标识数组,则确定所述第一查找结果为失败。
S3:若所述第一查找结果为成功,则对所述第一查找结果对应的所述结果标识数组中的不带未存储标记的各个结果标识从预设的二级缓存中获取各个结果简介数据,且,对所述第一查找结果对应的所述结果标识数组中的带所述未存储标记的各个结果标识从预设的业务数据库中获取各个结果简介数据,得到目标数据;
结果简介数据,是搜索结果的简介数据。比如,结果简介数据包括但不限于:结果标识、标题、描述、高亮词、目标地址和图片地址。用户只需要在基于结果简介数据展示的界面中点击,即可打开搜索结果的详细页面。
可选的,可以在结果标识的尾部增加一个标记,也可以在结果标识的头部增加一个标记,将该标记作为未存储标记。
具体而言,若所述第一查找结果为成功,意味着针对所述拼接数据有缓存的结果简介数据,此时所述第一查找结果对应的所述结果标识数组也就是缓存的与所述拼接数据对应的结果标识数组,因此,对所述第一查找结果对应的所述结果标识数组中的带未存储标记的各个结果标识,从预设的二级缓存中获取各个结果简介数据,且,对所述第一查找结果对应的所述结果标识数组中的不带未存储标记的各个结果标识,调用预设的数据获取接口从预设的业务数据库中获取各个结果简介数据,将获取的所有结果简介数据作为目标数据。从而使二级缓存不需保留一级缓存对应的所有的结果简介数据,减少了二级缓存的存储资源需求。
S4:若所述第一查找结果为失败,根据所述拼接数据,调用预设的搜索引擎从所述业务数据库中搜索各个所述结果简介数据,得到所述目标数据,根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存;
具体而言,若所述第一查找结果为成功,意味着针对所述拼接数据没有缓存的结果简介数据,此时需要调用搜索引擎进行搜索,因此,首先调用预设的搜索引擎,从业务数据库中搜索与所述拼接数据对应的各个所述结果简介数据,将搜索到的与所述拼接数据对应的各个所述结果简介数据作为所述目标数据,然后根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存,为下一次直接从缓存获取与所述拼接数据对应的结果标识数组以提高搜索效率提供了基础。
S5:将所述目标数据发送给所述搜索请求对应的目标调用对象。
具体而言,将所述目标数据发送给所述搜索请求对应的目标调用对象,从而使目标调用对象快速的获取到了搜索结果。
本实施例通过将所述目标搜索策略和所述目标请求内容进行拼接得到的拼接数据作为搜索的依据,使目标请求能个性化的指定搜索策略,而最终搜索得到的目标数据是针对目标搜索策略的,从而满足了满足个性化的搜索需求;通过将所述目标搜索策略和所述目标请求内容进行拼接作为搜索及缓存的依据,针对所有搜索策略设置一个缓存空间,降低了缓存占用的存储资源;通过将结果标识数组、结果简介数据进行两级缓存,实现了结果简介数据的复用,使多个结果标识数组交叉的结果简介数据只保留一份,减少了二级缓存的存储资源,进一步降低了整个缓存占用的存储资源;通过一级缓存只存储结果标识数组,减少了数据量,提高了判断是否提前缓存的效率,而且首先查找一级缓存,在查找成功时搜索二级缓存,在查找失败时调用搜索引擎,在减少缓存的数据的情况下,快速的确定获取结果简介数据的方式,提高了搜索效率。
在一个实施例中,上述将所述目标数据发送给所述搜索请求对应的目标调用对象的步骤,包括:
S51:将所述搜索请求携带的请求标识,更新到所述一级缓存中的与所述拼接数据对应的占用数据;
具体而言,将所述搜索请求携带的请求标识,添加到所述一级缓存中的与所述拼接数据对应的占用数据。
请求标识是请求ID,用于唯一标识一个搜索请求。
S52:将所述目标数据发送给所述搜索请求对应的所述目标调用对象;
S53:获取所述目标调用对象根据所述目标数据发送的下载完成信号;
具体而言,所述目标调用对象在对所述目标数据下载完成时,将根据所述目标数据生成下载完成信号,并且将步骤S1中的搜索请求的请求标识作为下载完成信号携带的参数。
S54:响应所述下载完成信号,将所述下载完成信号携带的所述请求标识,从所述一级缓存中的与所述拼接数据对应的所述占用数据中进行删除。
具体而言,在获取到所述下载完成信号时,将所述下载完成信号携带的所述请求标识,从所述一级缓存中的与所述拼接数据对应的所述占用数据中进行删除,从而解除了步骤S1中的搜索请求对一级缓存中的与所述拼接数据对应的结果标识数组的占用。
本实施例通过在一级缓存中设置占用数据,并实现了对占用数据的添加和删除管理,为基于占用数据进行一级缓存和二级缓存的管理提供了基础;因存在占用的缓存被删除,将导致占用的调用对象无法完整的下载目标数据,从而无法完整的展示,影响了搜索服务的效果,而本申请的对占用数据的添加和删除管理,可以有效的解决该问题。
在一个实施例中,上述将所述目标数据发送给所述搜索请求对应的目标调用对象的步骤之后,还包括:
S61:获取预设时长内的搜索请求集;
具体而言,以当前时间为结束时间和往历史获取的方式,获取预设时长内的搜索请求集。
可以理解的是,可以按预设的时间配置获取预设时长内的搜索请求集,也可以是人为触发的获取预设时长内的搜索请求集,还可以是基于第三方应用发送的信号获取预设时长内的搜索请求集。
搜索请求集中包括至少0个搜索请求。
S62:根据所述搜索请求集获取结果点击数据集;
具体而言,可以针对所述搜索请求集中的各个搜索请求,从存储空间获取结果点击数据,将获取的所有结果点击数据作为结果点击数据集。
结果点击数据包括:请求标识、结果标识和点击时间。
S63:对所述结果点击数据集,按搜索策略进行划分,得到各个单策略点击数据集;
具体而言,对所述结果点击数据集中的结果点击数据,按搜索策略进行划分,得到各个单策略点击数据集。其中,单策略点击数据集中的各个结果点击数据对应的搜索策略相同。
S64:基于同一个所述搜索策略对应的策略质量评估配置及所述单策略点击数据集进行策略质量评估,得到评估结果;
策略质量评估配置可以是预设的评分算法,也可以是基于神经网络训练得到的模型。
具体而言,将所述单策略点击数据集输入该所述单策略点击数据集对应的所述搜索策略对应的策略质量评估配置,即可计算出评估结果。
S65:判断每个所述评估结果是否满足预设结果配置;
具体而言,将所述评估结果与预设结果配置进行对比,若符合预设结果配置的要求,则确定满足预设结果配置,若不符合预设结果配置的要求,则确定不满足预设结果配置。
S66:将不满足所述预设结果配置的每个所述评估结果对应的所述搜索策略作为待删除策略;
具体而言,若不满足所述预设结果配置,此时意味着搜索策略效果不好,因此,将不满足所述预设结果配置的每个所述评估结果对应的所述搜索策略作为待删除策略。
可以理解的是满足所述预设结果配置的所述评估结果,意味着搜索策略效果比较好,不需要进行删除处理。
S67:根据所述待删除策略,从所述一级缓存中查找每个所述结果标识数组,得到待评估数组;
具体而言,从所述一级缓存中查找与所述待删除策略对应的每个所述结果标识数组,将查找到的每个所述结果标识数组作为一个待评估数组。
S68:将所述一级缓存中的所述占用数据为空的每个所述待评估数组作为第一删除数组;
具体而言,将待评估数组在所述一级缓存中查找所述占用数据,若所述占用数据为空,则确定该待评估数组为第一删除数组。从而为避免误删占用中的结果标识数组。
S69:将所述待删除策略及所述第一删除数组对应的关联数据从所述一级缓存中删除;
具体而言,将所述待删除策略及所述第一删除数组对应的关联数据从所述一级缓存中删除,从而删除了待删除策略对应的没有被占用的待评估数组。
S610:分别将所述二级缓存中的与所述第一删除数组中的每个结果标识对应的引用次数减1;
具体而言,分别将所述二级缓存中的与所述第一删除数组中的每个结果标识对应的引用次数减1,从而实现了对引用次数的更新,为二级缓存的缩减数据量提供了基础。
S611:判断所述二级缓存中是否存在所述引用次数为0的所述结果标识;
S612:若存在,则将所述引用次数为0的每个所述结果标识对应的所述结果简介数据从所述二级缓存中删除。
具体而言,若存在,也就是所述二级缓存中存在所述引用次数为0的所述结果标识,意味着此时二级缓存中存在不被结果标识数组引用的结果简介数据,该结果简介数据需要及时删除,以减小二级缓存的数据量。
本实施例首先将不满足所述预设结果配置的每个所述评估结果对应的所述搜索策略作为待删除策略,从而将效果不达标的搜索策略及时下架,为提高搜索服务的质量提供了基础;而且将所述一级缓存中的所述占用数据为空的每个所述待评估数组作为第一删除数组,从而删除了待删除策略对应的没有被占用的待评估数组,缩减了二级缓存的数据量。
在一个实施例中,上述根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存的步骤,还包括:
S41:判断所述目标搜索策略是否位于预设的热门策略列表;
具体而言,预设的热门策略列表,是预先设置的热门策略的列表。预设的热门策略列表中包括至少0个热门策略。
S42:若是,则根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存;
具体而言,若是,也就是所述目标搜索策略位于预设的热门策略列表,此时目标搜索策略是热门策略,需要进行最完整的缓存,因此,根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存。
S43:若否,则根据所述拼接数据和所述目标数据更新所述一级缓存,并从所述目标数据中找出不位于所述二级缓存的每个结果标识,得到第一标识,对所述一级缓存中的与所述第一标识对应的结果标识打上所述未存储标记,从所述目标数据中找出位于所述二级缓存的每个所述结果标识,得到第二标识,将所述二级缓存中的与所述第二标识对应的引用次数增加1。
具体而言,若否,也就是所述目标搜索策略不位于预设的热门策略列表,此时目标搜索策略不是热门策略,为了节约缓存的数据量,不需要进行最完整的缓存,因此,首先将所述拼接数据和所述目标数据中的各个结果标识作为关联数据添加到所述一级缓存,然后从所述目标数据中找出不位于所述二级缓存的每个结果标识,得到第一标识,对所述一级缓存中的与所述第一标识对应的结果标识打上所述未存储标记,实现了只更新未存储标记,不将第一标识对应的结果简介数据缓存到二级缓存中,减少了二级缓存的数据量;从所述目标数据中找出位于所述二级缓存的每个所述结果标识,得到第二标识,将所述二级缓存中的与所述第二标识对应的引用次数增加1,从而更新了已经在二级缓存中存在的结果简介数据对应的引用次数,确保了引用次数的准确性。
本实施例只将热门策略进行最完整的缓存,确保了热门策略的搜索效率,而将非热门策略中未被存储过的结果简介数据不缓存到二级缓存中,仅仅只在一级缓存中将未存储标记设为未存储简介,从而使下一次搜索不需调用搜索引擎,只需要搜索缓存和从业务数据库中获取所述结果简介数据提供了基础,减少了搜索引擎的调用量。
在一个实施例中,上述根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存的步骤,包括:
S421:将所述目标数据中的各个所述结果标识进行组合,得到目标标识集;
具体而言,将所述目标数据中的各个所述结果标识放在一个集合中,将该集合作为目标标识集。
S422:对所述一级缓存中的与所述目标标识集对应的所有结果标识的所述未存储标记进行删除处理,并将所述拼接数据和所述目标标识集作为关联数据添加到所述一级缓存;
S423:将所述目标标识集中的每个所述结果标识,在所述二级缓存进行查找,得到第二查找结果;
具体而言,将所述目标标识集中的所述结果标识,在所述二级缓存进行查找,若查找成功,将该所述结果标识对应的第二查找结果确定为成功,若查找失败,将该所述结果标识对应的第二查找结果确定为失败。
S424:将所述第二查找结果为成功的每个所述结果标识作为已有标识,将所述二级缓存中的与所述已有标识对应的所述引用次数增加1;
具体而言,所述第二查找结果为成功的每个所述结果标识对应的结果简介数据已经在二级缓存中存在,因此,将所述二级缓存中的与所述已有标识对应的所述引用次数增加1。
S425:将所述第二查找结果为失败的每个所述结果标识作为新增标识,将所述新增标识对应的所述结果简介数据添加到所述二级缓存,并根据所述一级缓存,更新所述二级缓存中的与所述新增标识对应的所述引用次数。
具体而言,所述第二查找结果为失败的每个所述结果标识对应的结果简介数据已经在二级缓存中不存在,因此,将所述新增标识对应的所述结果简介数据添加到所述二级缓存,并将所述一级缓存中的与所述新增标识对应的结果标识的数量作为所述二级缓存中的与该所述新增标识对应的所述引用次数的值。
本实施例实现了将热门策略进行最完整的缓存,确保了热门策略的搜索效率。
在一个实施例中,上述根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存的步骤之后,还包括:
S71:获取缓存清除请求;
具体而言,可以获取用户输入的缓存清除请求,也可以是实现本申请的程序根据预设条件生成的缓存清除请求,还可以是第三方应用发送的缓存清除请求。比如,预设条件为二级缓存的数据量超过阈值。
S72:响应所述缓存清除请求,根据预设的缓存清除配置,从所述一级缓存中查找关联数据,作为待处理关联数据;
具体而言,在获取到所述缓存清除请求时,根据预设的缓存清除配置,从所述一级缓存中查找需要清楚的各个关联数据,将查找到的每个关联数据作为一个待处理关联数据。
缓存清除配置可以是搜索频率,也可以是搜索频率和其他指标的集合。
S73:将所述一级缓存中的所述占用数据为空的每个所述待处理关联数据作为待删除关联数据;
S74:将所述一级缓存中的与所述待删除关联数据对应的关联数据进行删除处理,将所述二级缓存中的与所述待删除关联数据的每个所述结果标识对应的引用次数减1;
S75:判断所述二级缓存中是否存在所述引用次数为0的所述结果标识;
S76:若存在,则将所述待删除关联数据中的所述引用次数为0的每个所述结果标识对应的所述结果简介数据从所述二级缓存中删除;
具体而言,若存在,则将所述待删除关联数据中的所述引用次数为0的每个所述结果标识对应的所述结果简介数据从所述二级缓存中删除,并将所述待删除关联数据中的所述引用次数为0的每个所述结果标识在所述一级缓存中对应的所述结果标识打上所述未存储标记,从而实现只清除二级缓存,不清除一级缓存,在缩减了二级缓存的数量的情况下,使下一次搜索不需调用搜索引擎,只需要搜索缓存和从业务数据库中获取所述结果简介数据提供了基础,减少了搜索引擎的调用量。
将所述待删除关联数据中的所述引用次数为0的每个所述结果标识在所述一级缓存中对应的所述结果标识打上所述未存储标记,也就是在所述一级缓存中,将与所述待删除关联数据中的所述引用次数为0的每个所述结果标识对应的所述结果标识打上所述未存储标记。
所述对所述第一查找结果对应的所述结果标识数组中的不带未存储标记的各个结果标识从预设的二级缓存中获取各个结果简介数据,且,对所述第一查找结果对应的所述结果标识数组中的带所述未存储标记的各个结果标识从预设的业务数据库中获取各个结果简介数据,得到目标数据的步骤,包括:
S77:将所述第一查找结果对应的所述结果标识数组作为目标数组;
S78:将所述目标数组中的带所述未存储标记的各个所述结果标识作为未存储简介集,并将所述目标数组中的不带所述未存储标记的各个所述结果标识作为已存储简介集;
S79:根据所述已存储简介集,从所述二级缓存中获取各个所述结果简介数据,得到第一简介数据集;
S710:根据所述未存储简介集,从所述业务数据库中查找各个所述结果简介数据,得到第二简介数据集;
具体而言,根据所述未存储简介集,从所述业务数据库中查找各个所述结果简介数据,得到第二简介数据集,从而实现不调用搜索引擎的情况下直接从业务数据库中获取结果简介数据。
S711:将所述第一简介数据集和所述第二简介数据集进行合集处理,得到所述目标数据。
本实施例实现只清除二级缓存,不清除一级缓存,在缩减了二级缓存的数量的情况下,使下一次搜索不需调用搜索引擎,只需要搜索缓存和从业务数据库中获取所述结果简介数据提供了基础,减少了搜索引擎的调用量。
在一个实施例中,上述获取缓存清除请求的步骤之前,还包括:
S711:按预设时间间隔获取所述二级缓存对应的目标数据量;
具体而言,按预设时间间隔获取所述二级缓存对应的目标数据量,实现了自动评估是否需要进行缓存的清理。
S712:若所述目标数据量大于预设数据量阈值,则生成所述缓存清除请求。
具体而言,若所述目标数据量大于预设数据量阈值,此时意味着二级缓存中的数据量过多,因此,生成所述缓存清除请求以启动缓存的清除。
本实施例通过按预设时间间隔获取所述二级缓存对应的目标数据量,实现了自动评估是否需要进行缓存的清理,提高了二级缓存清理的实时性;在所述目标数据量大于预设数据量阈值,则生成所述缓存清除请求,实现了在确保二级缓存的数据量合理的情况下,减少了清除的频率。
如图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 (8)

1.一种适用于多种搜索策略的搜索方法,所述方法包括:
获取搜索请求,并根据所述搜索请求确定目标搜索策略和目标请求内容,将所述目标搜索策略和所述目标请求内容进行拼接,得到拼接数据;
根据所述拼接数据,从预设的一级缓存中查找结果标识数组,得到第一查找结果;
若所述第一查找结果为成功,则对所述第一查找结果对应的所述结果标识数组中的不带未存储标记的各个结果标识从预设的二级缓存中获取各个结果简介数据,且,对所述第一查找结果对应的所述结果标识数组中的带所述未存储标记的各个结果标识从预设的业务数据库中获取各个结果简介数据,得到目标数据;
若所述第一查找结果为失败,根据所述拼接数据,调用预设的搜索引擎从所述业务数据库中搜索各个所述结果简介数据,得到所述目标数据,根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存;
将所述目标数据发送给所述搜索请求对应的目标调用对象;所述将所述目标数据发送给所述搜索请求对应的目标调用对象的步骤,包括:将所述搜索请求携带的请求标识,更新到所述一级缓存中的与所述拼接数据对应的占用数据;将所述目标数据发送给所述搜索请求对应的所述目标调用对象;获取所述目标调用对象根据所述目标数据发送的下载完成信号;响应所述下载完成信号,将所述下载完成信号携带的所述请求标识,从所述一级缓存中的与所述拼接数据对应的所述占用数据中进行删除;
所述将所述目标数据发送给所述搜索请求对应的目标调用对象的步骤之后,还包括:获取预设时长内的搜索请求集;根据所述搜索请求集获取结果点击数据集;对所述结果点击数据集,按搜索策略进行划分,得到各个单策略点击数据集;基于同一个所述搜索策略对应的策略质量评估配置及所述单策略点击数据集进行策略质量评估,得到评估结果;判断每个所述评估结果是否满足预设结果配置;将不满足所述预设结果配置的每个所述评估结果对应的所述搜索策略作为待删除策略;根据所述待删除策略,从所述一级缓存中查找每个所述结果标识数组,得到待评估数组;将所述一级缓存中的所述占用数据为空的每个所述待评估数组作为第一删除数组;将所述待删除策略及所述第一删除数组对应的关联数据从所述一级缓存中删除;分别将所述二级缓存中的与所述第一删除数组中的每个结果标识对应的引用次数减1;判断所述二级缓存中是否存在所述引用次数为0的所述结果标识;若存在,则将所述引用次数为0的每个所述结果标识对应的所述结果简介数据从所述二级缓存中删除。
2.根据权利要求1所述的适用于多种搜索策略的搜索方法,其特征在于,所述根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存的步骤,还包括:
判断所述目标搜索策略是否位于预设的热门策略列表;
若是,则根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存;
若否,则根据所述拼接数据和所述目标数据更新所述一级缓存,并从所述目标数据中找出不位于所述二级缓存的每个结果标识,得到第一标识,对所述一级缓存中的与所述第一标识对应的结果标识打上所述未存储标记,从所述目标数据中找出位于所述二级缓存的每个所述结果标识,得到第二标识,将所述二级缓存中的与所述第二标识对应的引用次数增加1。
3.根据权利要求2所述的适用于多种搜索策略的搜索方法,其特征在于,所述根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存的步骤,包括:
将所述目标数据中的各个所述结果标识进行组合,得到目标标识集;
对所述一级缓存中的与所述目标标识集对应的所有结果标识的所述未存储标记进行删除处理,并将所述拼接数据和所述目标标识集作为关联数据添加到所述一级缓存;
将所述目标标识集中的每个所述结果标识,在所述二级缓存进行查找,得到第二查找结果;
将所述第二查找结果为成功的每个所述结果标识作为已有标识,将所述二级缓存中的与所述已有标识对应的所述引用次数增加1;
将所述第二查找结果为失败的每个所述结果标识作为新增标识,将所述新增标识对应的所述结果简介数据添加到所述二级缓存,并根据所述一级缓存,更新所述二级缓存中的与所述新增标识对应的所述引用次数。
4.根据权利要求2所述的适用于多种搜索策略的搜索方法,其特征在于,所述根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存的步骤之后,还包括:
获取缓存清除请求;
响应所述缓存清除请求,根据预设的缓存清除配置,从所述一级缓存中查找关联数据,作为待处理关联数据;
将所述一级缓存中的所述占用数据为空的每个所述待处理关联数据作为待删除关联数据;
将所述一级缓存中的与所述待删除关联数据对应的关联数据进行删除处理,将所述二级缓存中的与所述待删除关联数据的每个所述结果标识对应的引用次数减1;
判断所述二级缓存中是否存在所述引用次数为0的所述结果标识;
若存在,则将所述待删除关联数据中的所述引用次数为0的每个所述结果标识对应的所述结果简介数据从所述二级缓存中删除;
所述对所述第一查找结果对应的所述结果标识数组中的不带未存储标记的各个结果标识从预设的二级缓存中获取各个结果简介数据,且,对所述第一查找结果对应的所述结果标识数组中的带所述未存储标记的各个结果标识从预设的业务数据库中获取各个结果简介数据,得到目标数据的步骤,包括:
将所述第一查找结果对应的所述结果标识数组作为目标数组;
将所述目标数组中的带所述未存储标记的各个所述结果标识作为未存储简介集,并将所述目标数组中的不带所述未存储标记的各个所述结果标识作为已存储简介集;
根据所述已存储简介集,从所述二级缓存中获取各个所述结果简介数据,得到第一简介数据集;
根据所述未存储简介集,从所述业务数据库中查找各个所述结果简介数据,得到第二简介数据集;
将所述第一简介数据集和所述第二简介数据集进行合集处理,得到所述目标数据。
5.根据权利要求4所述的适用于多种搜索策略的搜索方法,其特征在于,所述获取缓存清除请求的步骤之前,还包括:
按预设时间间隔获取所述二级缓存对应的目标数据量;
若所述目标数据量大于预设数据量阈值,则生成所述缓存清除请求。
6.一种适用于多种搜索策略的搜索装置,其特征在于,所述装置包括:
请求获取模块,用于获取搜索请求,并根据所述搜索请求确定目标搜索策略和目标请求内容,将所述目标搜索策略和所述目标请求内容进行拼接,得到拼接数据;
第一查找结果确定模块,用于根据所述拼接数据,从预设的一级缓存中查找结果标识数组,得到第一查找结果;
第一处理模块,用于若所述第一查找结果为成功,则对所述第一查找结果对应的所述结果标识数组中的不带未存储标记的各个结果标识从预设的二级缓存中获取各个结果简介数据,且,对所述第一查找结果对应的所述结果标识数组中的带所述未存储标记的各个结果标识从预设的业务数据库中获取各个结果简介数据,得到目标数据;
第二处理模块,用于若所述第一查找结果为失败,根据所述拼接数据,调用预设的搜索引擎从所述业务数据库中搜索各个所述结果简介数据,得到所述目标数据,根据所述拼接数据和所述目标数据更新所述一级缓存和所述二级缓存;
数据反馈模块,用于将所述目标数据发送给所述搜索请求对应的目标调用对象;所述将所述目标数据发送给所述搜索请求对应的目标调用对象的步骤,包括:将所述搜索请求携带的请求标识,更新到所述一级缓存中的与所述拼接数据对应的占用数据;将所述目标数据发送给所述搜索请求对应的所述目标调用对象;获取所述目标调用对象根据所述目标数据发送的下载完成信号;响应所述下载完成信号,将所述下载完成信号携带的所述请求标识,从所述一级缓存中的与所述拼接数据对应的所述占用数据中进行删除;所述将所述目标数据发送给所述搜索请求对应的目标调用对象的步骤之后,还包括:获取预设时长内的搜索请求集;根据所述搜索请求集获取结果点击数据集;对所述结果点击数据集,按搜索策略进行划分,得到各个单策略点击数据集;基于同一个所述搜索策略对应的策略质量评估配置及所述单策略点击数据集进行策略质量评估,得到评估结果;判断每个所述评估结果是否满足预设结果配置;将不满足所述预设结果配置的每个所述评估结果对应的所述搜索策略作为待删除策略;根据所述待删除策略,从所述一级缓存中查找每个所述结果标识数组,得到待评估数组;将所述一级缓存中的所述占用数据为空的每个所述待评估数组作为第一删除数组;将所述待删除策略及所述第一删除数组对应的关联数据从所述一级缓存中删除;分别将所述二级缓存中的与所述第一删除数组中的每个结果标识对应的引用次数减1;判断所述二级缓存中是否存在所述引用次数为0的所述结果标识;若存在,则将所述引用次数为0的每个所述结果标识对应的所述结果简介数据从所述二级缓存中删除。
7.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述方法的步骤。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述方法的步骤。
CN202310024504.6A 2023-01-09 2023-01-09 适用于多种搜索策略的搜索方法、装置、设备及介质 Active CN115905323B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310024504.6A CN115905323B (zh) 2023-01-09 2023-01-09 适用于多种搜索策略的搜索方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310024504.6A CN115905323B (zh) 2023-01-09 2023-01-09 适用于多种搜索策略的搜索方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN115905323A CN115905323A (zh) 2023-04-04
CN115905323B true CN115905323B (zh) 2023-08-18

Family

ID=86481939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310024504.6A Active CN115905323B (zh) 2023-01-09 2023-01-09 适用于多种搜索策略的搜索方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115905323B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117785949B (zh) * 2024-02-28 2024-05-10 云南省地矿测绘院有限公司 一种数据缓存方法、电子设备、存储介质以及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166649A (zh) * 2013-05-16 2014-11-26 阿里巴巴集团控股有限公司 一种用于搜索引擎的缓存方法和设备
CN104794228A (zh) * 2015-04-30 2015-07-22 北京奇艺世纪科技有限公司 一种搜索结果提供方法及装置
CN105528463A (zh) * 2016-01-21 2016-04-27 北京奇艺世纪科技有限公司 一种搜索引擎的索引数据加载方法和装置
WO2017050014A1 (zh) * 2015-09-21 2017-03-30 北京奇虎科技有限公司 一种数据存储处理方法和装置
CN110955665A (zh) * 2019-12-03 2020-04-03 支付宝(杭州)信息技术有限公司 缓存查询方法、装置和电子设备
CN114553960A (zh) * 2022-04-22 2022-05-27 四川万网鑫成信息科技有限公司 一种数据缓存方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180365302A1 (en) * 2011-01-20 2018-12-20 Peter Yurevich TABUN System for interactively searching for and displaying information on a webpage

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166649A (zh) * 2013-05-16 2014-11-26 阿里巴巴集团控股有限公司 一种用于搜索引擎的缓存方法和设备
CN104794228A (zh) * 2015-04-30 2015-07-22 北京奇艺世纪科技有限公司 一种搜索结果提供方法及装置
WO2017050014A1 (zh) * 2015-09-21 2017-03-30 北京奇虎科技有限公司 一种数据存储处理方法和装置
CN105528463A (zh) * 2016-01-21 2016-04-27 北京奇艺世纪科技有限公司 一种搜索引擎的索引数据加载方法和装置
CN110955665A (zh) * 2019-12-03 2020-04-03 支付宝(杭州)信息技术有限公司 缓存查询方法、装置和电子设备
CN114553960A (zh) * 2022-04-22 2022-05-27 四川万网鑫成信息科技有限公司 一种数据缓存方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115905323A (zh) 2023-04-04

Similar Documents

Publication Publication Date Title
US7617362B2 (en) System for balancing multiple memory buffer sizes and method therefor
CN115905323B (zh) 适用于多种搜索策略的搜索方法、装置、设备及介质
CN107943718B (zh) 一种清理缓存文件的方法和装置
CN108418764A (zh) 限流方法、装置、计算机设备和存储介质
CN111198856A (zh) 文件管理方法、装置、计算机设备和存储介质
CN109903034B (zh) 规则匹配方法、装置、计算机可读存储介质和计算机设备
CN112434053A (zh) 一种计算直播热度的方法、装置、设备和存储介质
CN111767297B (zh) 大数据处理方法、装置、设备及介质
CN113918857A (zh) 一种提高分布式web应用系统性能的三级缓存加速方法
CN111190861B (zh) 热点文件管理方法、服务器及计算机可读存储介质
CN117033468A (zh) 数据查询方法、装置、电子设备和计算机可读存储介质
CN110334073A (zh) 一种元数据预取方法、装置、终端、服务器及存储介质
CN112764681B (zh) 一种带权重判断的缓存淘汰方法、装置和计算机设备
KR950035200A (ko) 가입자 위치정보 접근 방법
CN116795872A (zh) 数据查询方法、装置、计算机设备及存储介质
CN110162467B (zh) 软件测试方法、装置、计算机设备和可读存储介质
CN112784288B (zh) 访问管理方法、终端及计算机可读存储介质
CN111641995A (zh) 热点名称的更新方法及装置
CN114157620B (zh) 一种报文转发方法及装置
CN115757923B (zh) 搜索热词的确定方法、装置、计算机设备及存储介质
CN116010588B (zh) 实时与离线结合的文档推荐方法、装置、设备及介质
CN115495769B (zh) 一种数据脱敏方法、系统、可读存储介质及设备
CN114936216A (zh) 一种数据更新方法、装置、电子设备及存储介质
CN115098760A (zh) 数据处理方法、装置、电子设备及存储介质
CN118113800A (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
GR01 Patent grant
GR01 Patent grant