CN112052367A - 一种搜索方法、装置、电子设备及存储介质 - Google Patents

一种搜索方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112052367A
CN112052367A CN202010720013.1A CN202010720013A CN112052367A CN 112052367 A CN112052367 A CN 112052367A CN 202010720013 A CN202010720013 A CN 202010720013A CN 112052367 A CN112052367 A CN 112052367A
Authority
CN
China
Prior art keywords
index
target
search
deployment
real
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.)
Granted
Application number
CN202010720013.1A
Other languages
English (en)
Other versions
CN112052367B (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.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online 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 Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN202010720013.1A priority Critical patent/CN112052367B/zh
Publication of CN112052367A publication Critical patent/CN112052367A/zh
Application granted granted Critical
Publication of CN112052367B publication Critical patent/CN112052367B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines

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是本申请实施例提供的一种应用于搜索引擎代理服务器的搜索方法装置的结构框图;
图7是本申请实施例提供的一种应用于搜索服务器的搜索方法装置的结构框图;
图8是本申请实施例提供的一种电子设备的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
为了解决背景技术中记载的技术问题,本申请实施例提供了一种搜索方法、装置、电子设备及存储介质。
并且,为了方案描述清楚,下面将对本申请实施例所涉及的全量索引和实时索引进行介绍。
在搜索引擎中,根据文档的更新频率及大小可以分为全量索引和实时索引。全量索引中存储的是数据的全集,并进行周期性更新,例如,每隔预设天数或者预设小时对全量索引对应的数据集合进行更新。而实时索引中存储的是数据的子集,只保存每次全量索引构建周期内发生变化的数据。通过全量索引及实时索引,可以保证搜索引擎既能召回用户所有想要的数据,也能保证数据的时效性。
全量索引和实时索引虽然都是倒排索引,但是两者的整体结构完全不同。这是由于全量索引结构要使用存储空间更节省的方案,以此来保证在有限的存储空间下,存储尽可能多的数据;而实时索引侧重数据更新的实时性,故需要采用一个更新效率更高的存储结构,以此来保证在单位时间内接收更多的新数据。
在实际应用中,对于全量索引和实时索引的索引部署方式通常有两种。
第一种索引部署方式为:全量索引和实时索引同机部署。具体的,一台电子设备即搜索服务器同时部署全量索引及实时索引。在这种索引部署方式下,业务方会将全量数据一次性更新到搜索引擎,搜索引擎会将所有的数据分段存储,随后的实时数据更新会逐条推送给搜索引擎完成实时索引构建,这样可以保证一台搜索服务器存储了该业务的全量数据及实时更新的数据。
在全量索引和实时索引同机部署时,在数据更新流程中,搜索引擎逐条完成实时索引构建,并定期将实时索引与全量索引合并;这种同机部署的方式部署运维简易,但是这种同机部署的方式,在稳定性及可用性是存在一定的隐患的,一旦数据被污染,所有的数据需要全部重建,耗时长,如果出现机器故障或者服务异常,会导致搜索无结果,严重影响用户的体验。
第二种索引部署方式为:全量索引和实时索引非同机部署,即全量索引和实时索引分别部署在两台电子设备即两台搜索服务器中,例如各大中文搜索引擎。这种索引部署方式下,全量索引定期在离线端完成构建并分发给各在线搜索引擎,而实时索引则实时接收更新的数据。
在全量索引和实时索引非同机部署时,面对海量数据更新时,通过同时分别从全量索引和实时索引召回结果进行合并的方式,既能保障数据的时效性,又能对数据进行有效隔离,提升服务的稳定性,但这种方式运维复杂,实时处理流程复杂,可能存在资源浪费的情况。
由上述描述可知,两种索引部署方式各有优缺点。目前,对于同一搜索引擎而言,该搜索引擎只支持全量索引与实时索引同机部署,或者,该搜索引擎只支持全量索引与实时索引非同机部署。
而本申请实施方式中,提出了一种搜索服务器同时支持全量索引与实时索引同机部署,以及全量索引与实时索引非同机部署的索引部署方式。具体的,可以根据不同的业务场景采用不同的索引部署方式。
在面对数据更新较少的业务场景时,采用全量索引与实时索引同机部署的索引部署方式,这样可以简化运维,节约资源。在面对海量数据更新的业务场景时,采用全量索引与实时索引非同机部署的索引部署方式,这样可以有效保障搜索服务器集群的稳定性。
并且,本申请实施例在索引结构设计以及实时索引构建流程上同时兼容同机部署和非同机部署。
下面将对本申请实施例所提供的一种搜索方法、装置、电子设备及存储介质进行详细阐述。
第一方面,首先对应用于搜索引擎代理服务器的搜索方法进行介绍。
如图1所示,本申请实施例提供的搜索方法,可以包括如下步骤:
S110,接收用户终端发送的目标搜索请求。
其中,目标搜索请求携带有目标搜索词和目标索引标识,目标索引标识是基于目标搜索请求对应的业务场景确定的,不同的业务场景对应的目标索引标识不同。
具体的,当用户想要搜索内容时,用户可以通过用户终端向搜索引擎代理服务器发送搜索请求,从而搜索引擎代理服务器可以接收到搜索请求,为了方案描述清楚,可以将该搜索请求称为目标搜索请求。
并且,目标搜索请求中携带有目标搜索词和目标索引标识,目标搜索词为用户想要搜索的内容,如目标搜索词可以为海底捞。目标索引标识可以为目标索引名称,目标索引标识可以是基于目标搜索请求对应的业务场景确定的,而且,不同的业务场景对应的目标索引标识不同。具体的,在实际应用中,两个不同的目标搜索请求携带的搜索词相同,但如果两个不同的目标搜索请求所对应的业务场景不同,这两个不同的目标搜索请求说携带的目标索引标识不同。
举例而言,在一种业务场景下,用户在美团首页搜索海底捞,此时,目标搜索请求携带的搜索词为海底捞,目标搜索请求携带的索引标识为mainshop。在另一种业务场景下,用户在美团外卖搜索海底捞,此时,目标搜索请求携带的目标搜索词也为海底捞,但是,目标搜索请求携带的目标索引标识为waimaipoi。
S120,根据预先配置的索引标识与索引部署方式的对应关系,确定目标索引标识对应的目标索引部署方式。
其中,不同的目标索引标识对应的目标索引部署方式不同。
在本申请实施例中,对于不同的业务场景,搜索引擎所采用的索引部署方式可以不同。具体的,在面对数据更新较少的业务场景时,采用全量索引与实时索引同机部署的索引部署方式,这样可以简化运维,节约资源。在面对海量数据更新的业务时,采用全量索引与实时索引非同机部署的索引部署方式,这样可以有效保障搜索服务器集群的稳定性。
而目标索引标识是基于目标搜索请求对应的业务场景确定的,因此,为了使得在接收到目标搜索请求后,准确地确定应该采用哪种索引部署方式,可以预先配置索引标识与索引部署方式的对应关系,从而在接收到目标搜索请求后,可以准确地确定目标索引标识对应的目标索引部署方式。目标索引标识对应的目标索引部署方式可以为全量索引与实时索引同机部署的索引部署方式,或者,全量索引与实时索引非同机部署的索引部署方式。
S130,向目标索引部署方式对应的目标搜索服务器发送目标搜索请求。
具体的,在目标索引部署方式为全量索引与实时索引同机部署的索引部署方式时,目标索引部署方式对应的目标搜索服务器只有一个,因此,搜索引擎代理服务器只需要将目标搜索请求下发一次即可。
在目标索引部署方式为全量索引与实时索引非同机部署的索引部署方式时,目标索引部署方式对应的目标搜索服务器不只有一个,而是两个,因此,搜索引擎代理服务器需要将目标搜索请求下发两次。
在一种实施方式中,在目标索引部署方式为全量索引与实时索引非同机部署时,向目标索引部署方式对应的目标搜索服务器发送目标搜索请求,可以包括:
向全量索引对应的第一搜索服务器发送目标搜索请求,并向实时索引对应的第二搜索服务器发送目标搜索请求。
在该实施方式中,全量索引与实时搜索分别部署在两台不同的搜索服务器中,因此,为了后续步骤中,能够得到准确的搜索结果,搜索引擎代理服务器需要将目标搜索请求下发到全量索引对应的第一搜索服务器,并将目标搜索请求下发到实时索引对应的第二搜索服务器。
在另一种实施方式中,在目标索引部署方式为全在目标索引部署方式为全量索引与实时索引同机部署时,向目标索引部署方式对应的目标搜索服务器发送目标搜索请求,可以包括:
向全量索引和实时索引对应的第三搜索服务器发送目标搜索请求。
在该实施方式中,全量索引与实时索引部署同一台搜索服务器中,因此,搜索引擎代理服务器只需要将目标搜索请求下发到全量索引和实时索引对应的第三搜索服务器,就可以使得后续步骤中得到准确的搜索结果。
S140,接收目标搜索服务器反馈的与目标搜索词匹配的目标搜索结果。
具体的,目标搜索服务器在接收到搜索引擎代理服务器下发的目标搜索请求后,可以对目标搜索请求进行解析,得到目标搜索请求中携带的目标搜索词和目标索引标识,并从目标索引标识对应的数据集合中搜索与目标搜索词匹配的搜索结果。
在搜索引擎内部,全量索引会根据数据总数拆分为多个分段,每个分段内存储的数据唯一,在处理目标搜索请求时,搜索引擎会从所有分段中召回所有相关的数据,并将这些数据进行合并后,统一进行排序及打包;实时索引也会以一个或多个分段的形式存储在搜索引擎中,在结果召回过程中,除检索全量索引的分段外,还会检索所有的实时索引,在结果合并、排序及打包等环节与全量索引情况相同。
可以理解的是,在目标索引部署方式为全量索引与实时索引同机部署的索引部署方式时,目标索引部署方式对应的目标搜索服务器只有一个,搜索引擎代理服务器只向一个目标搜索服务器下发目标搜索请求,因此,搜索引擎代理服务器只接收这一个目标搜索服务器反馈的搜索结果。
在目标索引部署方式为全量索引与实时索引非同机部署的索引部署方式时,目标索引部署方式对应的目标搜索服务器有两个,搜索引擎代理服务器将目标搜索请求下发给两个不同的目标搜索服务器,因此,搜索引擎代理服务器接收两个目标搜索服务器反馈的搜索结果。
在一种实施方式中,在目标索引部署方式为全量索引与实时索引非同机部署时,接收目标搜索服务器反馈的与目标搜索词匹配的目标搜索结果,可以包括:
接收第一搜索服务器反馈的第一搜索结果,以及,第二搜索服务器反馈的第二搜索结果;
将第一搜索结果和第二搜索结果进行去重复及排序处理,得到目标搜索结果。
在该实施方式中,搜索引擎代理服务器接收到全量索引对应的第一搜索服务器反馈的第一搜索结果,以及实时索引对应的第二搜索服务器反馈的第二搜索结果后,由于第一搜索结果和第二搜索结果中可能有重复的搜索结果,因此,需要对第一搜索结果和第二搜索结果进行去重复处理,得到去重复处理后的搜索结果,并对去重复处理后的搜索结果进行排序,得到目标搜索结果。
在另一种实施方式中,在目标索引部署方式为全在目标索引部署方式为全量索引与实时索引同机部署时,接收目标搜索服务器反馈的与目标搜索词匹配的目标搜索结果,可以包括:
接收第三搜索服务器反馈的第三搜索结果,并将第三搜索结果作为目标搜索结果。
在该实施方式中,搜索引擎只接收到全量引擎和实时引擎对应的第三搜索服务器反馈的第三搜索结果,因此,可以将第三搜索结果作为目标搜索结果。
并且,搜索引擎代理服务器在得到目标搜索服务器反馈的目标搜索结果后,可以将目标搜索结果均发送给用户终端,或者,可以将目标搜索结果中排序靠前的搜索结果发送给用户终端,从而用户可以查看其自身想要搜索的内容。
本申请实施例提供的技术方案,搜索引擎代理服务器接收到用户终端发送的目标搜索请求后,根据预先配置的索引标识与索引部署方式的对应关系,确定目标索引标识对应的目标索引部署方式;向目标索引部署方式对应的目标搜索服务器发送目标搜索请求;接收目标搜索服务器反馈的与目标搜索词匹配的目标搜索结果;向用户终端发送目标搜索结果。可见,通过本申请实施例提供的技术方案,同一搜索引擎可以支持不同的索引部署方式,这样,对于不同的业务场景,搜索引擎可以采用不同的索引部署方式,使用灵活,能够满足用户的搜索需求。
第二方面,将对本申请实施例提供的应用于搜索服务器的搜索方法进行详细介绍。
如图2所示,本申请实施例所提供的一种应用于搜索服务器的搜索方法可以包括如下步骤:
S210,接收搜索引擎代理服务器发送的目标搜索请求。
其中,目标搜索请求携带有目标搜索词和目标索引标识,目标索引标识是基于搜索请求对应的业务场景确定的。目标索引标识是基于目标搜索请求对应的业务场景确定的,搜索引擎代理服务器根据预先配置的索引标识与索引部署方式的对应关系,确定目标索引标识对应的目标索引部署方式,并确定目标索引部署方式对应的搜索服务器,并向所述目标搜索服务器发送所述目标搜索请求,其中,不同的业务场景对应的目标索引标识不同,不同的目标索引标识对应的目标索引部署方式不同。
具体的,当用户想要搜索内容时,用户可以通过用户终端向搜索引擎代理服务器发送搜索请求,从而搜索引擎代理服务器可以接收到搜索请求,为了方案描述清楚,可以将该搜索请求称为目标搜索请求。
并且,目标搜索请求中携带有目标搜索词和目标索引标识,目标搜索词为用户想要搜索的内容,如目标搜索词可以为海底捞。目标索引标识可以为目标索引名称,目标索引标识可以是基于搜索请求对应的业务场景确定的。在实际应用中,两个不同的目标搜索请求携带的目标搜索词相同,但如果两个不同的目标搜索请求所对应的业务场景不同,这两个不同的目标搜索请求所携带的目标索引标识不同。
举例而言,在一种业务场景下,用户在美团首页搜索海底捞,此时,目标搜索请求携带的搜索词为海底捞,目标搜索请求携带的索引标识为mainshop。在另一种业务场景下,用户在美团外卖搜索海底捞,此时,目标搜索请求携带的搜索词也为海底捞,但是,目标搜索请求携带的索引标识为waimaipoi。
在本申请实施例中,对于不同的业务场景,搜索引擎所采用的索引部署方式可以不同。具体的,在面对数据更新较少的业务场景时,采用全量索引与实时索引同机部署的索引部署方式,这样可以简化运维,节约资源。在面对海量数据更新的业务时,采用全量索引与实时索引非同机部署的索引部署方式,这样可以有效保障搜索服务器集群的稳定性。
而目标索引标识是基于目标搜索请求对应的业务场景确定的,因此,为了使得在接收到目标搜索请求后,准确地确定应该采用哪种索引部署方式,可以预先配置索引标识与索引部署方式的对应关系,从而在接收到目标搜索请求后,可以准确地确定目标索引标识对应的目标索引部署方式。目标索引标识对应的目标索引部署方式可以为全量索引与实时索引同机部署的索引部署方式,或者,全量索引与实时索引非同机部署的索引部署方式。
在搜索引擎代理服务器确定了目标索引部署方式后,可以向目标索引部署方式对应的目标搜索服务器发送目标搜索请求。在目标索引部署方式为全量索引与实时索引同机部署的索引部署方式时,目标搜索服务器有一台,因此,只有一台搜索服务器接收到目标搜索请求。在目标索引部署方式为全量索引与实时索引同机部署的索引部署方式时,目标搜索服务器有两台,因此,有两台搜索服务器接收到目标搜索请求。
S220,从目标索引标识对应的数据集合中,搜索与目标搜索词匹配的搜索结果。
S230,对搜索结果进行排序,并向搜索引擎代理服务器反馈排序后的搜索结果。
具体的,搜索服务器在接收到搜索引擎代理服务器下发的目标搜索请求后,可以对目标搜索请求进行解析,得到目标搜索请求中携带的目标搜索词和目标索引标识,并从目标索引标识对应的数据集合中搜索与目标搜索词匹配的搜索结果。
在搜索引擎内部,全量索引会根据数据总数拆分为多个分段,每个分段内存储的数据唯一,在处理目标搜索请求时,搜索引擎会从所有分段中召回所有相关的数据,并将这些数据进行合并后,统一进行排序及打包;实时索引也会以一个或多个分段的形式存储在搜索引擎中,在结果召回过程中,除检索全量索引的分段外,还会检索所有的实时索引,在结果合并、排序及打包等环节与全量索引情况相同,并将排序后的搜索结果反馈给搜索引擎代理服务器,这样,搜索引擎代理服务器可以向搜索结果反馈给用户终端。
本申请实施例提供的技术方案,搜索引擎代理服务器接收到用户终端发送的目标搜索请求后,根据预先配置的索引标识与索引部署方式的对应关系,确定目标索引标识对应的目标索引部署方式;向目标索引部署方式对应的目标搜索服务器发送目标搜索请求;接收目标搜索服务器反馈的与目标搜索词匹配的目标搜索结果。可见,通过本申请实施例提供的技术方案,同一搜索引擎可以不同的索引部署方式,这样,对于不同的业务场景,搜索引擎可以采用不同的索引部署方式,使用灵活,能够满足用户的搜索需求。
在一种实施方式中,当搜索服务器对应的索引部署方式为全量索引与实时索引同机部署时,在目标索引标识对应的数据集合的数据更新时,应用于搜索服务器的搜索方法还可以包括如下步骤,分别为步骤a1和步骤a2:
步骤a1,将全量索引对应的数据集合中的目标数据删除,
其中,目标数据为全量索引对应的数据集合中已经存储的与待更新数据对应的数据。
步骤a2,将待更新数据更新到实时索引对应的数据集合。
在该实施方式中,在全量索引与实时索引同机部署时,为了保证搜索结果完全且不重复,搜索服务器没有采用与搜索引擎代理服务器相同的滤重策略,而是在实时数据更新过程中对于每条新增的待更新数据,在将待更新数据增加到实时索引对应的数据集合前,会首先将全量索引对应的数据集合中已经存储的与待更新数据对应的旧数据删除,这样可以保证每条数据只会在全量索引对应的数据集合或者实时索引对应的数据集合中出现,进而保证了即使全量索引和实时索引同机部署,也会保证信息召回的准确性并且不会重复。
下面将结合具体实例对全量索引和实时索引同机部署时实时消息的处理流程进行详细阐述。如图3所示。
如图3所示是在全量索引和实时索引同机部署情况下,本方案对实时消息处理的流程示意图。搜索引擎会根据每条消息的类型进行不同的数据更新处理。
对于删除类型的数据,搜索引擎直接将文档进行删除。
对于新增文档,首先会在已有的全量索引分段及实时索引分段中删除旧文档,再在最新的实时索引段中增加该文档。
对于更新的操作,如果只涉及到定长字段更新,则直接修改索引中的数据内容,如果包含文本更新或者变长字段更新,则直接执行新增文档的流程。通过这样的数据处理,可以有效保证搜索引擎内的每一数据都是唯一的,且数据是最新的。
下面将结合具体实例对全量索引和实时索引同机部署时实时消息的处理流程进行详细阐述。如图3所示。
在一种实施方式中,当搜索服务器对应的索引部署方式为全量索引与实时索引非同机部署时,在目标索引标识对应的数据集合的数据增加时,应用于搜索服务器的搜索方法还可以包括如下步骤,分别为步骤b1和步骤b2:
步骤b1,将全量索引对应的数据集合,以及实时索引对应的数据集合中的目标数据删除。
其中,目标数据为全量索引对应的数据集合以及实时索引对应的数据集合中已经存储的、且与待增加数据对应的数据。
步骤b2,将待增加数据更新到实时索引对应的数据集合。
具体的,全量索引的索引结构内存使用紧凑,为了保证存储尽可能多的数据,不支持新增加数据,所以在全量索引与实时索引非同机部署下,所有新增加数据均存在实时索引中。在搜索引擎代理服务器接收到目标搜索请求时,通过搜索引擎代理服务器分别向全量索引对应的搜索服务器和实时索引对应的搜索服务器发送目标搜索请求,全量索引对应的搜索服务器和实时索引对应的搜索服务器所反馈的搜索结果是最新的。
下面将结合具体实例对全量索引和实时索引非同机部署时实时消息的处理流程进行详细阐述。如图4所示。
图4是全量索引和实时索引非同机部署时数据更新的流程图。在全量索引和实时索引非同机部署下,对于实时索引而言,处理流程和全量索引和实时索引同机部署时流程相同;对于全量索引,在全量索引和实时索引非同机部署模式下,只进行删除及更新操作,不执行新增操作。这样,全量索引对应的搜索服务器和实时索引对应的搜索服务器所反馈的搜索结果是最新的。
在一种实施方式中,应用于搜索服务器的搜索方法还可以包括如下步骤,分别为步骤c1和步骤c2:
步骤c1,在预定更新时刻时更新全量索引对应的数据集合。
步骤c2,当搜索服务器对应的索引部署方式为全量索引与实时索引非同机部署时,删除预定更新时刻之前实时索引对应的数据集合。
具体的,无论是全量索引与实时索引是同机部署还是非同机部署,为了保证全量索引对应的数据集合中的数据是最新的,均需要在预定更新时刻更新全量索引对应的数据集合。但是,当全量索引和实时索引非同级部署时,由于实时索引对应的数据集合内的数据并非完整的,因此,为了保持数据一致性,需要删除预定更新时刻之前实时索引对应的数据集合。
下面将结合具体实例对更新全量索引对应的数据集合的数据处理流程进行详细阐述。如图5所示。
如图5所示,搜索引擎还会定期更新全量索引对应的数据集合,更新全量索引对应的数据集合即将所有文档进行重新索引构建,随后再将构建好的全量索引分发给各个搜索引擎。当新版本的全量索引全部分发到搜索引擎后,搜索引擎会将旧版本的数据删除,加载新版本的全量索引完成索引切换,之后使用新版本的全量索引提供检索服务。
当全量索引和实时索引非同机部署时,由于实时索引对应的数据集合内的数据并非完整,为了保持数据一致性,在全量索引和实时索引非同机部署下,搜索引擎会根据全量索引构建开始的时间戳,对搜索引擎内的实时索引进行删除,即删除全量索引构建开始时间戳之前的数据。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本申请所必须的。
第三方面,本申请实施例提供了一种搜索装置,应用于搜索引擎代理服务器,如图6所示,所述装置包括:
搜索请求接收模块610,用于接收用户终端发送的目标搜索请求,所述目标搜索请求携带有目标搜索词和目标索引标识,所述目标索引标识是基于所述目标搜索请求对应的业务场景确定的,不同的业务场景对应的目标索引标识不同;
索引部署方式确定模块620,用于根据预先配置的索引标识与索引部署方式的对应关系,确定所述目标索引标识对应的目标索引部署方式,不同的目标索引标识对应的目标索引部署方式不同;
搜索请求发送模块630,用于向所述目标索引部署方式对应的目标搜索服务器发送所述目标搜索请求;
搜索结果接收模块640,用于接收所述目标搜索服务器反馈的与所述目标搜索词匹配的目标搜索结果。
本申请实施例提供的技术方案,搜索引擎代理服务器接收到用户终端发送的目标搜索请求后,根据预先配置的索引标识与索引部署方式的对应关系,确定目标索引标识对应的目标索引部署方式;向目标索引部署方式对应的目标搜索服务器发送目标搜索请求;接收目标搜索服务器反馈的与目标搜索词匹配的目标搜索结果;向用户终端发送目标搜索结果。可见,通过本申请实施例提供的技术方案,同一搜索引擎可以支持不同的索引部署方式,这样,对于不同的业务场景,搜索引擎可以采用不同的索引部署方式,使用灵活,能够满足用户的搜索需求。
可选的,在所述目标索引部署方式为全量索引与实时索引非同机部署时,所述搜索请求发送模块,具体用于:
向所述全量索引对应的第一搜索服务器发送所述目标搜索请求,并向所述实时索引对应的第二搜索服务器发送所述目标搜索请求;
相应的,所述搜索结果接收模块,具体用于:
接收所述第一搜索服务器反馈的第一搜索结果,以及,所述第二搜索服务器反馈的第二搜索结果;
将所述第一搜索结果和所述第二搜索结果进行去重复及排序处理,得到目标搜索结果。
可选的,在所述目标索引部署方式为全在所述目标索引部署方式为全量索引与实时索引同机部署时,所述搜索请求发送模块,具体用于:
向所述全量索引和所述实时索引对应的第三搜索服务器发送所述目标搜索请求;
相应的,所述搜索结果接收模块,具体用于:
接收所述第三搜索服务器反馈的第三搜索结果,并将所述第三搜索结果作为所述目标搜索结果。
第四方面,本申请实施例提供了一种搜索装置,应用于搜索服务器,如图7所示,所述装置包括:
接收模块710,用于接收搜索引擎代理服务器发送的目标搜索请求,所述目标搜索请求携带有目标搜索词和目标索引标识,所述目标索引标识是基于所述目标搜索请求对应的业务场景确定的,所述搜索引擎代理服务器根据预先配置的索引标识与索引部署方式的对应关系,确定所述目标索引标识对应的目标索引部署方式,并确定所述目标索引部署方式对应的搜索服务器,并向所述目标搜索服务器发送所述目标搜索请求,其中,不同的业务场景对应的目标索引标识不同,不同的目标索引标识对应的目标索引部署方式不同;
搜索模块720,用于从所述目标索引标识对应的数据集合中,搜索与所述目标搜索词匹配的搜索结果;
排序模块730,用于对所述搜索结果进行排序,并向搜索引擎代理服务器反馈排序后的搜索结果。
本申请实施例提供的技术方案,搜索引擎代理服务器接收到用户终端发送的目标搜索请求后,根据预先配置的索引标识与索引部署方式的对应关系,确定目标索引标识对应的目标索引部署方式;向目标索引部署方式对应的目标搜索服务器发送目标搜索请求;接收目标搜索服务器反馈的与目标搜索词匹配的目标搜索结果;向用户终端发送目标搜索结果。可见,通过本申请实施例提供的技术方案,同一搜索引擎可以不同的索引部署方式,对于不同的业务场景,搜索引擎可以采用不同的索引部署方式,使用灵活,能够满足用户的搜索需求。
可选的,当所述搜索服务器对应的索引部署方式为全量索引与实时索引同机部署时,所述装置还包括:
第一删除模块,用于在所述目标索引标识对应的数据集合的数据更新时,将所述全量索引对应的数据集合中的目标数据删除,所述目标数据为所述全量索引对应的数据集合中已经存储的与所述待更新数据对应的数据;
第一更新模块,用于将所述待更新数据更新到实时索引对应的数据集合。
可选的,当所述搜索服务器对应的索引部署方式为全量索引与实时索引非同机部署时,所述装置还包括:
第二删除模块,用于在所述目标索引标识对应的数据集合的数据增加时,将所述全量索引对应的数据集合,以及所述实时索引对应的数据集合中的目标数据删除,所述目标数据为所述全量索引对应的数据集合以及所述实时索引对应的数据集合中已经存储的、且与所述待增加数据对应的数据;
第二更新模块,用于将所述待增加数据更新到实时索引对应的数据集合。
可选的,所述装置还包括:
第三更新模块,用于在预定更新时刻时更新所述全量索引对应的数据集合;
第三删除模块,用于当所述搜索服务器对应的索引部署方式为全量索引与实时索引非同机部署时,删除所述预定更新时刻之前所述实时索引对应的数据集合。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
第五方面,本申请实施例提供了一种电子设备,如图8所示,包括存储器810、处理器820及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面或者第二方面所述的搜索方法的步骤。
本申请实施例提供的技术方案,搜索引擎代理服务器接收到用户终端发送的目标搜索请求后,根据预先配置的索引标识与索引部署方式的对应关系,确定目标索引标识对应的目标索引部署方式;向目标索引部署方式对应的目标搜索服务器发送目标搜索请求;接收目标搜索服务器反馈的与目标搜索词匹配的目标搜索结果。可见,通过本申请实施例提供的技术方案,同一搜索引擎可以支持不同的索引部署方式,这样,对于不同的业务场景,搜索引擎可以采用不同的索引部署方式,使用灵活,能够满足用户的搜索需求。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或者第二方面所述的搜索方法的步骤。
本申请实施例提供的技术方案,搜索引擎代理服务器接收到用户终端发送的目标搜索请求后,根据预先配置的索引标识与索引部署方式的对应关系,确定目标索引标识对应的目标索引部署方式;向目标索引部署方式对应的目标搜索服务器发送目标搜索请求;接收目标搜索服务器反馈的与目标搜索词匹配的目标搜索结果。可见,通过本申请实施例提供的技术方案,同一搜索引擎可以支持不同的索引部署方式,这样,对于不同的业务场景,搜索引擎可以采用不同的索引部署方式,使用灵活,能够满足用户的搜索需求。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种搜索方法、装置、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (16)

1.一种搜索方法,所述方法包括:
接收用户终端发送的目标搜索请求,所述目标搜索请求携带有目标搜索词和目标索引标识,所述目标索引标识是基于所述目标搜索请求对应的业务场景确定的,不同的业务场景对应的目标索引标识不同;
根据预先配置的索引标识与索引部署方式的对应关系,确定所述目标索引标识对应的目标索引部署方式,不同的目标索引标识对应的目标索引部署方式不同;
向所述目标索引部署方式对应的目标搜索服务器发送所述目标搜索请求;
接收所述目标搜索服务器反馈的与所述目标搜索词匹配的目标搜索结果。
2.根据权利要求1所述的方法,其特征在于,在所述目标索引部署方式为全量索引与实时索引非同机部署时,所述向所述目标索引部署方式对应的目标搜索服务器发送所述目标搜索请求,包括:
向所述全量索引对应的第一搜索服务器发送所述目标搜索请求,并向所述实时索引对应的第二搜索服务器发送所述目标搜索请求;
相应的,所述接收所述目标搜索服务器反馈的与所述目标搜索词匹配的目标搜索结果,包括:
接收所述第一搜索服务器反馈的第一搜索结果,以及,所述第二搜索服务器反馈的第二搜索结果;
将所述第一搜索结果和所述第二搜索结果进行去重复及排序处理,得到目标搜索结果。
3.根据权利要求1所述的方法,其特征在于,在所述目标索引部署方式为全量索引与实时索引同机部署时,所述向所述目标索引部署方式对应的目标搜索服务器发送所述目标搜索请求,包括:
向所述全量索引和所述实时索引对应的第三搜索服务器发送所述目标搜索请求;
相应的,所述接收所述目标搜索服务器反馈的与所述目标搜索词匹配的目标搜索结果,包括:
接收所述第三搜索服务器反馈的第三搜索结果,并将所述第三搜索结果作为所述目标搜索结果。
4.一种搜索方法,其特征在于,所述方法包括:
接收搜索引擎代理服务器发送的目标搜索请求,所述目标搜索请求携带有目标搜索词和目标索引标识,所述目标索引标识是基于所述目标搜索请求对应的业务场景确定的,所述搜索引擎代理服务器根据预先配置的索引标识与索引部署方式的对应关系,确定所述目标索引标识对应的目标索引部署方式,并确定所述目标索引部署方式对应的搜索服务器,并向所述目标搜索服务器发送所述目标搜索请求,其中,不同的业务场景对应的目标索引标识不同,不同的目标索引标识对应的目标索引部署方式不同;
从所述目标索引标识对应的数据集合中,搜索与所述目标搜索词匹配的搜索结果;
对所述搜索结果进行排序,并向搜索引擎代理服务器反馈排序后的搜索结果。
5.根据权利要求4所述的方法,其特征在于,当所述搜索服务器对应的索引部署方式为全量索引与实时索引同机部署时,在所述目标索引标识对应的数据集合的数据更新时,所述方法还包括:
将所述全量索引对应的数据集合中的目标数据删除,所述目标数据为所述全量索引对应的数据集合中已经存储的与所述待更新数据对应的数据;
将所述待更新数据更新到实时索引对应的数据集合。
6.根据权利要求4所述的方法,其特征在于,当所述搜索服务器对应的索引部署方式为全量索引与实时索引非同机部署时,在所述目标索引标识对应的数据集合的数据增加时,所述方法还包括:
将所述全量索引对应的数据集合,以及所述实时索引对应的数据集合中的目标数据删除,所述目标数据为所述全量索引对应的数据集合以及所述实时索引对应的数据集合中已经存储的、且与所述待增加数据对应的数据;
将所述待增加数据更新到实时索引对应的数据集合。
7.根据权利要求4至6任一项所述的方法,其特征在于,所述方法还包括:
在预定更新时刻时更新所述全量索引对应的数据集合;
当所述搜索服务器对应的索引部署方式为全量索引与实时索引非同机部署时,删除所述预定更新时刻之前所述实时索引对应的数据集合。
8.一种搜索装置,其特征在于,所述装置包括:
搜索请求接收模块,用于接收用户终端发送的目标搜索请求,所述目标搜索请求携带有目标搜索词和目标索引标识,所述目标索引标识是基于所述目标搜索请求对应的业务场景确定的,不同的业务场景对应的目标索引标识不同;
索引部署方式确定模块,用于根据预先配置的索引标识与索引部署方式的对应关系,确定所述目标索引标识对应的目标索引部署方式,不同的目标索引标识对应的目标索引部署方式不同;
搜索请求发送模块,用于向所述目标索引部署方式对应的目标搜索服务器发送所述目标搜索请求;
搜索结果接收模块,用于接收所述目标搜索服务器反馈的与所述目标搜索词匹配的目标搜索结果。
9.根据权利要求8所述的装置,其特征在于,在所述目标索引部署方式为全量索引与实时索引非同机部署时,所述搜索请求发送模块,具体用于:
向所述全量索引对应的第一搜索服务器发送所述目标搜索请求,并向所述实时索引对应的第二搜索服务器发送所述目标搜索请求;
相应的,所述搜索结果接收模块,具体用于:
接收所述第一搜索服务器反馈的第一搜索结果,以及,所述第二搜索服务器反馈的第二搜索结果;
将所述第一搜索结果和所述第二搜索结果进行去重复及排序处理,得到目标搜索结果。
10.根据权利要求8所述的装置,其特征在于,在所述目标索引部署方式为全量索引与实时索引同机部署时,所述搜索请求发送模块,具体用于:
向所述全量索引和所述实时索引对应的第三搜索服务器发送所述目标搜索请求;
相应的,所述搜索结果接收模块,具体用于:
接收所述第三搜索服务器反馈的第三搜索结果,并将所述第三搜索结果作为所述目标搜索结果。
11.一种搜索装置,其特征在于,所述装置包括:
接收模块,用于接收搜索引擎代理服务器发送的目标搜索请求,所述目标搜索请求携带有目标搜索词和目标索引标识,所述目标索引标识是基于所述目标搜索请求对应的业务场景确定的,所述搜索引擎代理服务器根据预先配置的索引标识与索引部署方式的对应关系,确定所述目标索引标识对应的目标索引部署方式,并确定所述目标索引部署方式对应的搜索服务器,并向所述目标搜索服务器发送所述目标搜索请求,其中,不同的业务场景对应的目标索引标识不同,不同的目标索引标识对应的目标索引部署方式不同;
搜索模块,用于从所述目标索引标识对应的数据集合中,搜索与所述目标搜索词匹配的搜索结果;
排序模块,用于对所述搜索结果进行排序,并向搜索引擎代理服务器反馈排序后的搜索结果。
12.根据权利要求11所述的装置,其特征在于,当所述搜索服务器对应的索引部署方式为全量索引与实时索引同机部署时,所述装置还包括:
第一删除模块,用于在所述目标索引标识对应的数据集合的数据更新时,将所述全量索引对应的数据集合中的目标数据删除,所述目标数据为所述全量索引对应的数据集合中已经存储的与所述待更新数据对应的数据;
第一更新模块,用于将所述待更新数据更新到实时索引对应的数据集合。
13.根据权利要求11所述的装置,其特征在于,当所述搜索服务器对应的索引部署方式为全量索引与实时索引非同机部署时,所述装置还包括:
第二删除模块,用于在所述目标索引标识对应的数据集合的数据增加时,将所述全量索引对应的数据集合,以及所述实时索引对应的数据集合中的目标数据删除,所述目标数据为所述全量索引对应的数据集合以及所述实时索引对应的数据集合中已经存储的、且与所述待增加数据对应的数据;
第二更新模块,用于将所述待增加数据更新到实时索引对应的数据集合。
14.根据权利要求11至13任一项所述的装置,其特征在于,所述装置还包括:
第三更新模块,用于在预定更新时刻时更新所述全量索引对应的数据集合;
第三删除模块,用于当所述搜索服务器对应的索引部署方式为全量索引与实时索引非同机部署时,删除所述预定更新时刻之前所述实时索引对应的数据集合。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3,或者,4至7中任一项所述的搜索方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3,或者,4至7中任一项所述的搜索方法的步骤。
CN202010720013.1A 2020-07-23 2020-07-23 一种搜索方法、装置、电子设备及存储介质 Active CN112052367B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010720013.1A CN112052367B (zh) 2020-07-23 2020-07-23 一种搜索方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010720013.1A CN112052367B (zh) 2020-07-23 2020-07-23 一种搜索方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112052367A true CN112052367A (zh) 2020-12-08
CN112052367B CN112052367B (zh) 2024-09-13

Family

ID=73602503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010720013.1A Active CN112052367B (zh) 2020-07-23 2020-07-23 一种搜索方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112052367B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113158002A (zh) * 2021-04-28 2021-07-23 北京达佳互联信息技术有限公司 搜索方法、装置、电子设备和存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294731A (zh) * 2012-03-05 2013-09-11 阿里巴巴集团控股有限公司 实时索引建立、实时搜索方法及装置
CN104991907A (zh) * 2015-06-17 2015-10-21 深圳市腾讯计算机系统有限公司 网络信息资源的搜索方法、装置和系统
CN106796612A (zh) * 2015-07-08 2017-05-31 百度(美国)有限责任公司 基于用户与内容数据的机器可读代码的交互来路由数据和连接用户的系统和方法
CN107203532A (zh) * 2016-03-16 2017-09-26 阿里巴巴集团控股有限公司 索引系统的构建方法、搜索的实现方法及装置
CN107545004A (zh) * 2016-06-28 2018-01-05 华为技术有限公司 一种搜索的方法、装置和搜索引擎系统
WO2018095351A1 (zh) * 2016-11-28 2018-05-31 中兴通讯股份有限公司 搜索处理方法及装置
CN108846121A (zh) * 2018-06-27 2018-11-20 中国建设银行股份有限公司 一种数据搜索方法和装置
CN110019080A (zh) * 2017-07-14 2019-07-16 北京京东尚科信息技术有限公司 数据访问方法和装置
CN111355999A (zh) * 2020-03-16 2020-06-30 北京达佳互联信息技术有限公司 视频播放的方法、装置、终端设备及服务器
CN111367692A (zh) * 2020-03-09 2020-07-03 政采云有限公司 一种搜索引擎数据处理方法、装置、电子设备及介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294731A (zh) * 2012-03-05 2013-09-11 阿里巴巴集团控股有限公司 实时索引建立、实时搜索方法及装置
CN104991907A (zh) * 2015-06-17 2015-10-21 深圳市腾讯计算机系统有限公司 网络信息资源的搜索方法、装置和系统
CN106796612A (zh) * 2015-07-08 2017-05-31 百度(美国)有限责任公司 基于用户与内容数据的机器可读代码的交互来路由数据和连接用户的系统和方法
CN107203532A (zh) * 2016-03-16 2017-09-26 阿里巴巴集团控股有限公司 索引系统的构建方法、搜索的实现方法及装置
CN107545004A (zh) * 2016-06-28 2018-01-05 华为技术有限公司 一种搜索的方法、装置和搜索引擎系统
WO2018095351A1 (zh) * 2016-11-28 2018-05-31 中兴通讯股份有限公司 搜索处理方法及装置
CN110019080A (zh) * 2017-07-14 2019-07-16 北京京东尚科信息技术有限公司 数据访问方法和装置
CN108846121A (zh) * 2018-06-27 2018-11-20 中国建设银行股份有限公司 一种数据搜索方法和装置
CN111367692A (zh) * 2020-03-09 2020-07-03 政采云有限公司 一种搜索引擎数据处理方法、装置、电子设备及介质
CN111355999A (zh) * 2020-03-16 2020-06-30 北京达佳互联信息技术有限公司 视频播放的方法、装置、终端设备及服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王亮;苏云;: "基于Lucene的异构数据库全文检索技术", 指挥控制与仿真, no. 02, 15 April 2017 (2017-04-15) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113158002A (zh) * 2021-04-28 2021-07-23 北京达佳互联信息技术有限公司 搜索方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN112052367B (zh) 2024-09-13

Similar Documents

Publication Publication Date Title
CN110427368B (zh) 数据处理方法、装置、电子设备及存储介质
CN106484877B (zh) 一种基于hdfs的文件检索系统
US8997041B2 (en) Method of managing script, server performing the same and storage media storing the same
CN104714755A (zh) 一种快照管理方法及装置
EP3125501B1 (en) File synchronization method, server, and terminal
CN103823807B (zh) 一种去除重复数据的方法、装置及系统
CN103678494A (zh) 客户端同步服务端数据的方法及装置
CN102193917A (zh) 一种数据处理和查询方法和装置
CN111818112A (zh) 一种基于Kafka系统的发送消息的方法和装置
CN112182328B (zh) 一种搜索引擎的扩容方法、装置、电子设备及存储介质
CN103631937A (zh) 构建列存储索引的方法、装置及系统
CN108334514A (zh) 数据的索引方法以及装置
US20140181122A1 (en) Generating and using a customized index
CN111858486B (zh) 一种文件分类方法和装置
CN106250476B (zh) 一种更新和同步白名单的方法、装置和系统
CN108039960B (zh) 配置信息下发方法及服务器
CN105653697A (zh) 一种推荐词检索方法及系统
CN109344226A (zh) 一种索引数据更新方法及装置
CN112052367A (zh) 一种搜索方法、装置、电子设备及存储介质
US20090019021A1 (en) Method and apparatus for creating an index of network data for a set of messages
CN115543994A (zh) 元数据检索方法、服务器、检索方法及终端设备
CN112527824A (zh) 分页查询方法、装置、电子设备和计算机可读存储介质
CN107291579B (zh) 一种基于静态子树分区的元数据集群文件快照方法
CN111324483A (zh) 一种数据恢复方法、装置以及相关设备
CN104714983B (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