CN105653697A - 一种推荐词检索方法及系统 - Google Patents
一种推荐词检索方法及系统 Download PDFInfo
- Publication number
- CN105653697A CN105653697A CN201511025071.8A CN201511025071A CN105653697A CN 105653697 A CN105653697 A CN 105653697A CN 201511025071 A CN201511025071 A CN 201511025071A CN 105653697 A CN105653697 A CN 105653697A
- Authority
- CN
- China
- Prior art keywords
- database
- keyword
- retrieve
- word data
- index
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种推荐词检索方法及系统,方法包括:在获得客户端发送的搜索请求数据后,从搜索请求数据中提取至少一个关键词;调用预设公共类,以执行:基于各个关键词,按照同步请求方式在第一数据库中检索推荐词数据,当基于任一关键词在第一数据库中未检索到推荐词数据时,基于该关键词,按照异步请求方式在第二数据库中检索推荐词数据;当在第一数据库和/或第二数据库中检索到推荐词数据时,基于所检索到的关键词所对应的推荐词数据,确定搜索请求数据所对应的推荐结果。应用本发明实施例,增强了系统对请求的整体处理能力,特别是增强了系统在面对请求突然性增加或持续性增加的情况下对请求的处理能力,并充分利用了服务器资源。
Description
技术领域
本发明涉及网络技术领域,特别是涉及一种推荐词检索方法及系统。
背景技术
目前,搜索推荐词的系统多采用同步的方式进行检索,以获取推荐词,但是,采用同步的方式存在以下弊端:
1、当请求来了后,请求从开始到结束会一直占用一个进程,其他请求必须等待该进程结束后才可以调用该进程,也就是说,在面对正常请求量时,系统对请求的处理能力并不高,而系统在面对请求突然性增加或者持续性增加的情况时,更是会造成大量的请求被超时,甚至会导致系统的崩溃;
2、没有充分利用服务器资源,造成服务器资源利用率低。
因此,如何设计一种新的搜索推荐词方法,以增强系统对请求的整体处理能力,特别是增强系统在面对请求突然性增加或者持续性增加的情况下对请求的处理能力,并充分利用服务器资源,成为亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种新的推荐词检索方法及系统,以增强系统对请求的整体处理能力,特别是增强系统在面对请求突然性增加或者持续性增加的情况下对请求的处理能力,并实现对服务器资源的充分利用。具体技术方案如下:
第一方面,本发明实施例提供了一种推荐词检索方法,包括:
在获得客户端发送的搜索请求数据后,从所述搜索请求数据中提取至少一个关键词;
调用预设公共类,以执行:基于各个关键词,按照同步请求方式在第一数据库中检索推荐词数据,并且,当基于任一关键词在所述第一数据库中未检索到推荐词数据时,基于该关键词,按照异步请求方式在第二数据库中检索推荐词数据,其中,所述第一数据库为基于内存的高速缓存数据库,所述第二数据库为基于内存和数据持久化的数据库;
当在第一数据库和/或第二数据库中检索到推荐词数据时,基于所检索到的关键词所对应的推荐词数据,确定所述搜索请求数据所对应的推荐结果。
可选地,本发明实施例第一方面所提供的推荐词检索方法,还包括:当在第一数据库和第二数据库中均未检索到推荐词数据时,将关于内容为空的提示信息作为所述搜索请求数据所对应的推荐结果。
可选地,所述基于各个关键词,按照同步请求方式在第一数据库中检索推荐词数据,并且,当基于任一关键词在所述第一数据库中未检索到推荐数据时,基于该关键词,按照异步请求方式在第二数据库中检索推荐词数据,包括:
按照同步请求方式在第一数据库中分别检索各个关键词所对应的推荐词数据,并且,当任一关键词在所述第一数据库中未检索到推荐数据时,按照异步请求方式在第二数据库中检索该关键词所对应的推荐词数据。
可选地,基于各个关键词,按照同步请求方式在第一数据库中检索推荐词数据,并且,当基于任一关键词在所述第一数据库中未检索到推荐词数据时,基于该关键词,按照异步请求方式在第二数据库中检索推荐词数据,包括:
按照同步请求方式在第一数据库中分别检索各个关键词所对应的索引,当检索到所述索引,则在第一数据库中检索所述索引对应的推荐词数据,当任一关键词在所述第一数据库中未检索到索引时,按照异步请求方式在第二数据库中检索该关键词所对应的索引;
当在第二数据库中检索到该关键词对应的索引时,按照同步请求方式在第一数据库中检索该关键词对应的索引的推荐词数据,并且,当基于任一关键词对应的索引在所述第一数据库中未检索到推荐词数据时,按照异步请求方式在第二数据库中检索该关键词对应的索引的推荐词数据。
可选地,还包括:当在第二数据库中未检索到该关键词对应的索引时,将该关键词转换为拼音;设置所述拼音作为拼音关键词,并按照同步请求方式在第一数据库中分别检索各个拼音关键词所对应的索引,当检索到拼音关键词所对应的索引时,按照同步请求方式在第一数据库中检索所述索引所对应的推荐词数据,并且,当任一拼音关键词在所述第一数据库中未检索到所述索引时,按照异步请求方式在第二数据库中检索该拼音关键词所对应的索引;
当在第二数据库中检索到该拼音关键词对应的索引时,按照同步请求方式在第一数据库中检索该索引所对应的推荐词数据,并且,当基于任一拼音关键词对应的索引在所述第一数据库中未检索到推荐词数据时,按照异步请求方式在第二数据库中检索该索引所对应的推荐词数据。
第二方面,本发明实施例提供了一种检索推荐词系统,包括:获取单元、执行单元和确定单元;
所述获取单元,用于在获得客户端发送的搜索请求数据后,从所述搜索请求数据中提取至少一个关键词;
所述执行单元,用于调用预设公共类,以执行:基于各个关键词,按照同步请求方式在第一数据库中检索推荐词数据,并且,当基于任一关键词在所述第一数据库中未检索到推荐词数据时,基于该关键词,按照异步请求方式在第二数据库中检索推荐词数据;其中,所述第一数据库为高速缓存数据库,所述第二数据库为异步持久化数据库;
所述确定单元,用于当在第一数据库和/或第二数据库中检索到推荐词数据时,基于所检索到的关键词所对应的推荐词数据,确定所述搜索请求数据所对应的推荐结果。
可选地,所述确定单元还用于:当在第一数据库和第二数据库中均未检索到推荐词数据时,将关于内容为空的提示信息作为所述搜索请求数据所对应的推荐结果。
可选地,所述执行单元包括:第一执行子单元;
所述第一执行子单元,用于按照同步请求方式在第一数据库中分别检索各个关键词所对应的推荐词数据,并且,当任一关键词在所述第一数据库中未检索到推荐数据时,按照异步请求方式在第二数据库中检索该关键词所对应的推荐词数据。
可选地,所述执行单元包括:第二执行子单元;
所述第二执行子单元,用于按照同步请求方式在第一数据库中分别检索各个关键词所对应的索引,当检索到所述索引,则在第一数据库中检索所述索引对应的推荐词数据,当任一关键词在所述第一数据库中未检索到所述索引时,按照异步请求方式在第二数据库中检索该关键词所对应的索引;
当在第二数据库中检索到该关键词对应的索引时,按照同步请求方式在第一数据库中检索该关键词对应的索引的推荐词数据,并且,当基于任一关键词对应的索引在所述第一数据库中未检索到推荐词数据时,按照异步请求方式在第二数据库中检索该关键词对应的索引的推荐词数据。
可选地,所述第二执行子单元还用于:
当在第二数据库中未检索到关键词对应的索引时,将关键词转换为拼音;
设置所述拼音作为拼音关键词,并按照同步请求方式在第一数据库中分别检索各个拼音关键词所对应的索引,当检索到拼音关键词所对应的索引时,按照同步请求方式在第一数据库中检索所述索引所对应的推荐词数据,并且,当任一拼音关键词在所述第一数据库中未检索到所述索引时,按照异步请求方式在第二数据库中检索该拼音关键词所对应的索引;
当在第二数据库中检索到该拼音关键词对应的索引时,按照同步请求方式在第一数据库中检索该索引所对应的推荐词数据,并且,当基于任一拼音关键词对应的索引在所述第一数据库中未检索到推荐词数据时,按照异步请求方式在第二数据库中检索该索引所对应的推荐词数据。
本发明实施例中,在创建第一数据库、第二数据库的预设公共类后,通过调用该预设公共类,以便以同步的方式检索第一数据库,以异步方式检索第二数据库,通过异步方式检索,当完成请求的一个处理阶段后便可释放进程,无需等待该处理阶段的处理结果,该被释放的进程能够去处理下一个请求或者另一个阶段,可以有效地解决以同步搜索推荐词的方式一直占用一个进程的问题,增强了系统对请求的整体处理能力,特别是增强了系统在应对请求的突然增加或者持续增加的情况时对大量请求的处理能力,即在面对请求的突然增加或者持续增加的情况下,仍能对大量请求进行正常处理,提升了服务器的性能,避免了大量请求被超时和系统的崩溃,使系统性能更稳定,并提高了对服务器的利用率。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种推荐词检索方法的流程示意图;
图2为本发明实施例提供的一种推荐词检索系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术问题,本发明实施例提供了一种推荐词检索方法及系统。
首先,本发明实施例提供了一种推荐词检索方法,如图1所示,该推荐词检索方法可以包括如下步骤:
S101:在获得客户端发送的搜索请求数据后,从该搜索请求数据中提取至少一个关键词;
服务器在接收到由客户端发送的搜索请求数据后,可以对搜索请求数据预处理,从而在预处理搜索请求数据后获取至少一个关键词,预处理方式可以包括但不局限于识别非法输入,并去除非法输入,例如:中英文标点符号。预处理方式还可以包括对搜索请求数据进行分割,例如要从搜索请求数据“青蒿素的提取方法”提取关键词,则可对“青蒿素的提取方法”进行分割,分割为“青蒿素”、“提取”和“方法”三个部分,并且可以将这三个部分作为搜索请求数据的关键词。另外,预处理方式也可以包括纠正用户错误输入的搜索请求数据,例如用户要输入“花千骨”,却错误将其输入为“花钱骨”,预处理则将“花千骨”作为从搜索请求数据中提取的关键词,从而提高了检索的准确性和速度,提升了用户体验。
可以理解的是,从该搜索请求数据中提取至少一个关键词的具体实现方式可以采用现有技术,在此不作详述。
S102:调用预设公共类,以执行:基于各个关键词,按照同步请求方式在第一数据库中检索推荐词数据,并且,当基于任一关键词在该第一数据库中未检索到推荐词数据时,基于该关键词,按照异步请求方式在第二数据库中检索推荐词数据;其中,该第一数据库为基于内存的高速缓存数据库,该第二数据库为基于内存和数据持久化的数据库;
在创建第一数据库、第二数据库的预设公共类后,调用该预设公共类,以使能够以同步的方式检索第一数据库,以异步方式检索第二数据库,可以有效地解决以同步搜索推荐词的方式一直占用一个进程的问题。具体地,通过异步方式检索,当完成请求的一个处理阶段后便可释放进程,该被释放的进程能够去处理另一个请求或者当前请求的另一个阶段,可以有效的解决以同步搜索推荐词的方式一直占用一个进程的问题,增强了系统对请求的整体处理能力,特别是增强了系统在应对请求的突然增加或者持续增加的情况时对大量请求的处理能力,即在面对请求的突然增加或者持续增加的情况下,仍能对大量请求进行正常处理,提升了服务器的性能,避免了大量请求被超时和系统的崩溃,使系统性能更稳定,并提高了对服务器的利用率。此外,需要强调的是,先在基于内存的高速缓存数据库中以同步方式检索,若无法检索到推荐词数据,再在基于内存和数据持久化的数据库中以异步的方式检索,提高了检索精度,同时避免了服务器资源闲置,提高了服务器的资源利用率。
其中,在保证通过调用预设公共类能够实现上述功能的前提下,预设公共类的具体代码形式在此不做限定。
需要强调的是,基于各个关键词在第一数据库和/或第二数据库中检索推荐词数据包括但是不局限于直接使用各个关键词检索该关键词对应的推荐词数据。进一步的,为了布局清楚,后续对通过调用预设公共类所能够执行的步骤的具体实现方式进行举例介绍。
S103:当在第一数据库和/或第二数据库中检索到推荐词数据时,基于所检索到的关键词所对应的推荐词数据,确定该搜索请求数据所对应的推荐结果;
推荐词结果是由在第一数据库和/或第二数据库中检索到的推荐词数据的汇总,并将该推荐结果返回至客户端,反馈给用户。
举例而言,服务器在接收到由客户端发送的搜索请求数据且提取到关键词后,可以对关键词进行进一步处理,即判断提取到的关键词是一个关键词还是多个关键词,进而可以将检索模式分为基于单关键词检索模式和基于多关键词检索模式;并且,基于单关键词检索模式为:先基于该单关键词在第一数据库中以同步的方式检索推荐词数据,若能检索到,则不对第二数据库进行检索并将该推荐词数据返回客户端;若检索不到,则按照异步的方式检索第二数据库,若在第二数据库检索到推荐词数据,则将该推荐词数据返回至客户端,并将该推荐词数据保存在第一数据中,方便了用户再次查找,提高了检索速度;
基于多关键词检索模式为:先基于多关键词在第一数据库中以同步的方式检索多关键词对应的推荐词数据,当多关键词中的一个或者多个关键词无法在第一数据库中检索到推荐词数据时,将无法检索到推荐词数据的关键词在第二数据库中检索,若检索到推荐词数据,则将推荐词数据返回至客户端,并将该推荐词数据保存在第一数据中,方便了用户再次查找,提高了检索速度和精度;若在第二数据库中也无法检索到推荐词数据,则将无法检索到推荐词数据的提示信息作为推荐结果返回至客户端。
本发明实施例中,在创建第一数据库、第二数据库的预设公共类后,通过调用该预设公共类,以便以同步的方式检索第一数据库,以异步方式检索第二数据库,通过异步方式检索,当完成请求的一个处理阶段后便可释放进程,无需等待该处理阶段的处理结果,该被释放的进程能够去处理下一个请求或者另一个阶段,可以有效的解决以同步搜索推荐词的方式一直占用一个进程的问题,增强了系统对请求的整体处理能力,特别是增强了系统在应对请求的突然增加或者持续增加的情况时对大量请求的处理能力,即在面对请求的突然增加或者持续增加的情况下,仍能对大量请求进行正常处理,提升了服务器的性能,避免了大量请求被超时和系统的崩溃,使系统性能更稳定,并提高了对服务器的利用率。
更进一步地,在本发明的一个优选实施例中,本发明实施例所提供的方法还包括:当在第一数据库和第二数据库中均未检索到推荐词数据时,将关于内容为空的提示信息作为该搜索请求数据所对应的推荐结果。可以理解的是,在该技术方案中,基于从搜索请求数据中提取的关键词,检索第一数据库,且在第一数据库中无法检索到推荐词数据,再检索第二数据库,当在第二数据库中也无法检索到推荐词数据时,说明在第一数据库和第二数据库中都不存在推荐词数据,此时将无法检索到推荐词数据的提示信息作为推荐结果返回至客户端,使得在现有数据库中无法检索到推荐词数据时,及时将检索结果反馈至客户端,便于用户进行下一步操作,提升了用户体验。
更进一步地,在本发明的一个优选实施例中,该基于各个关键词,按照同步请求方式在第一数据库中检索推荐词数据,并且,当基于任一关键词在该第一数据库中未检索到推荐数据时,基于该关键词,按照异步请求方式在第二数据库中检索推荐词数据,可以包括:
按照同步请求方式在第一数据库中分别检索各个关键词所对应的推荐词数据,并且,当任一关键词在该第一数据库中未检索到推荐数据时,按照异步请求方式在第二数据库中检索该关键词所对应的推荐词数据。
可以理解的是,在该技术方案中,在第一数据库中以同步的方式检索各个关键词对应的推荐词数据,其中,该推荐词数据中可以包含一个或多个关键词,且在第一数据库中无法检索到推荐词数据时,再到第二数据库以异步的方式检索各个关键词的推荐词数据。
更进一步地,在本发明的一个优选实施例中,该基于各个关键词,按照同步请求方式在第一数据库中检索推荐词数据,并且,当基于任一关键词在该第一数据库中未检索到推荐词数据时,基于该关键词,按照异步请求方式在第二数据库中检索推荐词数据,可以包括:
按照同步请求方式在第一数据库中分别检索各个关键词所对应的索引,当检索到该索引,则在第一数据库中检索该索引对应的推荐词数据,当任一关键词在该第一数据库中未检索到索引时,按照异步请求方式在第二数据库中检索该关键词所对应的索引;
当在第二数据库中检索到该关键词对应的索引时,按照同步请求方式在第一数据库中检索该关键词对应的索引的推荐词数据,并且,当基于任一关键词对应的索引在该第一数据库中未检索到推荐词数据时,按照异步请求方式在第二数据库中检索该关键词对应的索引的推荐词数据。
可以理解的是,在该技术方案中,利用从搜索词数据中提取的关键词在第一数据库中以同步的方式检索该关键词对应的索引,当在第一数据库中无法检索到索引时,利用该关键词去第二数据库中检索索引;当在第一数据库中检索到索引时,用该索引在第一数据库中检索索引对应的推荐词数据,如果在第一数据库中检索不到推荐词数据,再到第二数据库中检索索引。
更进一步地,在本发明的一个优选实施例中,该基于各个关键词,按照同步请求方式在第一数据库中检索推荐词数据,并且,当基于任一关键词在该第一数据库中未检索到推荐词数据时,基于该关键词,按照异步请求方式在第二数据库中检索推荐词数据,可以包括:
按照同步请求方式在第一数据库中分别检索各个关键词所对应的索引,当检索到该索引,则在第一数据库中检索该索引对应的推荐词数据,当任一关键词在该第一数据库中未检索到索引时,按照异步请求方式在第二数据库中检索该关键词所对应的索引;
当在第二数据库中检索到该关键词对应的索引时,按照同步请求方式在第一数据库中检索该关键词对应的索引的推荐词数据,并且,当基于任一关键词对应的索引在该第一数据库中未检索到推荐词数据时,按照异步请求方式在第二数据库中检索该关键词对应的索引的推荐词数据;
以及
当在第二数据库中未检索到该关键词对应的索引时,将该关键词转换为拼音;设置该拼音作为拼音关键词,并按照同步请求方式在第一数据库中分别检索各个拼音关键词所对应的索引,当检索到拼音关键词所对应的索引时,按照同步请求方式在第一数据库中检索该索引所对应的推荐词数据,并且,当任一拼音关键词在该第一数据库中未检索到该索引时,按照异步请求方式在第二数据库中检索该拼音关键词所对应的索引;当在第二数据库中检索到该拼音关键词对应的索引时,按照同步请求方式在第一数据库中检索该索引所对应的推荐词数据,并且,当基于任一拼音关键词对应的索引在该第一数据库中未检索到推荐词数据时,按照异步请求方式在第二数据库中检索该索引所对应的推荐词数据。
可以理解的是,在该技术方案中,基于关键词查找基于该关键词对应的索引,当在第一数据库能检索到该索引时,则根据该索引在第一数据库和/或第二数据库中检索索引对应的推荐词数据,当在第一数据库和/或第二数据库中都检索不到索引时,将关键词转换为拼音,并利用拼音在第一数据库和/或第二数据库中检索推荐词数据,并且检索方式为在第一数据库中检索不到时,才在第二数据库中检索。
为了方案更加清楚,下面结合具体应用实例,对本发明实施例所提供的方法进行介绍。
应用实例一:
当服务器接收来自客户端的搜索请求数据后,并对搜索请求数据做预处理后获取到关键词“彖辞”,并在第一数据库中查找“彖辞”的索引,但是在第一数据库中无法检索到该索引,则在第二数据库中查找“彖辞”的索引,若无法检索到“彖辞”的索引,则将“彖辞”转换为拼音关键词“tuàncí”,利用“tuàncí”作为关键词在第一数据库中以同步的方式检索“tuàncí”对应的推荐词数据,若检索到推荐词数据,则将数据返回至客户端,若在第一数据库中检索不到推荐词数据,则以异步的方式在第二数据库中检索推荐词数据,提高了检索精度,且当在第二数据库中检索到推荐词数据时,将该推荐词数据返回至客户端并写入第一数据库,方便用户下次检索,提高了检索速度。特别地,通过异步方式在第二数据库中检索推荐词数据,当完成该请求在第二数据库中查找“彖辞”的索引的处理阶段后便可释放该进程,无需等待该处理阶段的处理结果,该被释放的进程能够去处理下一个请求或者另一个阶段,增强了系统对请求的整体处理能力。
其中,上述索引可以是索引列表,该列表中包括关键词“彖辞”和关键词“彖辞”对应的记录号,记录号记录了“彖辞”所在的数据库的具体位置,即注明了包含“彖辞”的数据内容所在的存储位置,使得在使用索引查找推荐词数据时,无需扫描整个数据库,便可以找到关键词对应的推荐词数据,提高了查找推荐词数据的速度,同时提升了系统处理请求的能力,其中,推荐词数据中包含“彖辞”内容,例如推荐词数据可以为“彖辞和彖传的区别”。
应用实例二:
随着《琅琊榜》的热播,对“琅琊榜”、“胡歌”和“王凯”等搜索的搜索量剧增,而采用同步方式检索推荐词数据时,存在较大的资源浪费,例如在用户键入搜索词阶段,进程一直处于空闲状态,且必须等待用户键入完毕,在这个过程中不能处理其他请求,即在面对正常请求量时,服务器对请求的处理能力并不高。特别是,在面对上述搜索请求剧增或持续性增加的情况,会造成大量请求被超时,无法得到推荐结果,甚至会造成系统的崩溃,影响用户体验。而在本发明实施例中,可以通过在Redis数据库中以同步方式检索“琅琊榜”、“胡歌”和“王凯”等关键词对应的推荐词数据,其中,Redis是一个高性能的key-value数据库,且为基于内存的高速缓存数据库,且redis中的数据都是缓存在内存中,且会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且支持主从同步,从而能够在Redis数据库进行检索,提高了系统处理请求的能力。
并且,如果在Redis数据库中检索到推荐词数据,则直接将推荐词数据返回至客户端,若在Redis数据库中检索不到推荐词数据,再在Couchbase数据库中以异步方式检索“琅琊榜”、“胡歌”和“王凯”等关键词对应的推荐词数据,通过异步的检索方式,当完成请求的一个处理阶段后便可释放进程,无需等待该处理阶段的处理结果,该被释放的进程能够去处理另一个请求或者当前请求的另一个阶段,提高了系统处理请求的整体能力,并且避免了服务器资源闲置。即本申请所达到的一个高的请求处理能力体现在,增强了系统对请求的整体处理能力,特别是在面对请求剧增或持续性增加的情况,仍能正常的返回推荐数据,而不会造成大量请求被超时和系统崩溃。另外,在Couchbase数据库中检索不到该推荐词数据,则将无法检索到推荐词数据的提示返回至客户端,若检索到该推荐词数据,则将该推荐词数据返回至客户端,并将该推荐词数据写入Redis数据库中,便于用户下次检索,提高检索速度。
其中,Couchbase为基于内存和数据持久化的数据库,且提供比Memchched(一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载)更快地向内存中缓存读取和写入的速度,且支持异步持久化,解决了大部分数据库不支持异步持久化或异步持久化造成系统间歇性的负载很高的问题。
相应于上述方法实施例,本发明实施例还提供了一种推荐词检索系统,如图2所示,该推荐词检索系统可以包括:
获取单元201,用于在获得客户端发送的搜索请求数据后,从该搜索请求数据中提取至少一个关键词;
执行单元202,用于调用预设公共类,以执行:基于各个关键词,按照同步请求方式在第一数据库中检索推荐词数据,并且,当基于任一关键词在该第一数据库中未检索到推荐词数据时,基于该关键词,按照异步请求方式在第二数据库中检索推荐词数据;其中,该第一数据库为基于内存的高速缓存数据库,该第二数据库为基于内存和数据持久化的数据库;
确定单元203,用于当在第一数据库和/或第二数据库中检索到推荐词数据时,基于所检索到的关键词所对应的推荐词数据,确定该搜索请求数据所对应的推荐结果。
本发明实施例中,在创建第一数据库、第二数据库的预设公共类后,通过调用该预设公共类,以便以同步的方式检索第一数据库,以异步方式检索第二数据库,通过异步方式检索,当完成请求的一个处理阶段后便可释放进程,无需等待该处理阶段的处理结果,该被释放的进程能够去处理下一个请求或者另一个阶段,可以有效的解决以同步搜索推荐词的方式一直占用一个进程的问题,增强了系统对请求的整体处理能力,特别是增强了系统在应对请求的突然增加或者持续增加的情况时对大量请求的处理能力,即在面对请求突然增加或者持续增加的情况下,仍能对大量请求进行正常处理,提升了服务器的性能,避免了大量请求被超时和系统的崩溃,使系统性能更稳定,并提高了对服务器的利用率。
优选地,根据本发明实施例第二方面所提供的推荐词检索系统,所述确定单元203还用于:当在第一数据库和第二数据库中均未检索到推荐词数据时,将关于内容为空的提示信息作为该搜索请求数据所对应的推荐结果。
优选地,所述执行单元202包括:第一执行子单元,用于按照同步请求方式在第一数据库中分别检索各个关键词所对应的推荐词数据,并且,当任一关键词在所述第一数据库中未检索到推荐数据时,按照异步请求方式在第二数据库中检索该关键词所对应的推荐词数据。
优选地,所述执行单元202包括:第二执行子单元,用于按照同步请求方式在第一数据库中分别检索各个关键词所对应的索引,当检索到所述索引,则在第一数据库中检索所述索引对应的推荐词数据,当任一关键词在所述第一数据库中未检索到所述索引时,按照异步请求方式在第二数据库中检索该关键词所对应的索引;当在第二数据库中检索到该关键词对应的索引时,按照同步请求方式在第一数据库中检索该关键词对应的索引的推荐词数据,并且,当基于任一关键词对应的索引在所述第一数据库中未检索到推荐词数据时,按照异步请求方式在第二数据库中检索该关键词对应的索引的推荐词数据。
优选地,该第二执行子单元还用于:当在第二数据库中未检索到关键词对应的索引时,将关键词转换为拼音;设置该拼音作为拼音关键词,并按照同步请求方式在第一数据库中分别检索各个拼音关键词所对应的索引,当检索到拼音关键词所对应的索引时,按照同步请求方式在第一数据库中检索该索引所对应的推荐词数据,并且,当任一拼音关键词在该第一数据库中未检索到该索引时,按照异步请求方式在第二数据库中检索该拼音关键词所对应的索引;当在第二数据库中检索到该拼音关键词对应的索引时,按照同步请求方式在第一数据库中检索该索引所对应的推荐词数据,并且,当基于任一拼音关键词对应的索引在该第一数据库中未检索到推荐词数据时,按照异步请求方式在第二数据库中检索该索引所对应的推荐词数据。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种推荐词检索方法,其特征在于,包括:
在获得客户端发送的搜索请求数据后,从所述搜索请求数据中提取至少一个关键词;
调用预设公共类,以执行:基于各个关键词,按照同步请求方式在第一数据库中检索推荐词数据,并且,当基于任一关键词在所述第一数据库中未检索到推荐词数据时,基于该关键词,按照异步请求方式在第二数据库中检索推荐词数据,其中,所述第一数据库为基于内存的高速缓存数据库,所述第二数据库为基于内存和数据持久化的数据库;
当在第一数据库和/或第二数据库中检索到推荐词数据时,基于所检索到的关键词所对应的推荐词数据,确定所述搜索请求数据所对应的推荐结果。
2.根据权利要求1所述的方法,其特征在于,还包括:
当在第一数据库和第二数据库中均未检索到推荐词数据时,将关于内容为空的提示信息作为所述搜索请求数据所对应的推荐结果。
3.根据权利要求1-2中任一项所述的方法,其特征在于,所述基于各个关键词,按照同步请求方式在第一数据库中检索推荐词数据,并且,当基于任一关键词在所述第一数据库中未检索到推荐数据时,基于该关键词,按照异步请求方式在第二数据库中检索推荐词数据,包括:
按照同步请求方式在第一数据库中分别检索各个关键词所对应的推荐词数据,并且,当任一关键词在所述第一数据库中未检索到推荐数据时,按照异步请求方式在第二数据库中检索该关键词所对应的推荐词数据。
4.根据权利要求1-2中任一项所述的方法,其特征在于,基于各个关键词,按照同步请求方式在第一数据库中检索推荐词数据,并且,当基于任一关键词在所述第一数据库中未检索到推荐词数据时,基于该关键词,按照异步请求方式在第二数据库中检索推荐词数据,包括:
按照同步请求方式在第一数据库中分别检索各个关键词所对应的索引,当检索到所述索引,则在第一数据库中检索所述索引对应的推荐词数据,当任一关键词在所述第一数据库中未检索到索引时,按照异步请求方式在第二数据库中检索该关键词所对应的索引;
当在第二数据库中检索到该关键词对应的索引时,按照同步请求方式在第一数据库中检索该关键词对应的索引的推荐词数据,并且,当基于任一关键词对应的索引在所述第一数据库中未检索到推荐词数据时,按照异步请求方式在第二数据库中检索该关键词对应的索引的推荐词数据。
5.根据权利要求4所述的方法,其特征在于,还包括:
当在第二数据库中未检索到该关键词对应的索引时,将该关键词转换为拼音;
设置所述拼音作为拼音关键词,并按照同步请求方式在第一数据库中分别检索各个拼音关键词所对应的索引,当检索到拼音关键词所对应的索引时,按照同步请求方式在第一数据库中检索所述索引所对应的推荐词数据,并且,当任一拼音关键词在所述第一数据库中未检索到所述索引时,按照异步请求方式在第二数据库中检索该拼音关键词所对应的索引;
当在第二数据库中检索到该拼音关键词对应的索引时,按照同步请求方式在第一数据库中检索该索引所对应的推荐词数据,并且,当基于任一拼音关键词对应的索引在所述第一数据库中未检索到推荐词数据时,按照异步请求方式在第二数据库中检索该索引所对应的推荐词数据。
6.一种检索推荐词系统,其特征在于,包括:
获取单元,用于在获得客户端发送的搜索请求数据后,从所述搜索请求数据中提取至少一个关键词;
执行单元,用于调用预设公共类,以执行:基于各个关键词,按照同步请求方式在第一数据库中检索推荐词数据,并且,当基于任一关键词在所述第一数据库中未检索到推荐词数据时,基于该关键词,按照异步请求方式在第二数据库中检索推荐词数据;其中,所述第一数据库为高速缓存数据库,所述第二数据库为异步持久化数据库;
确定单元,用于当在第一数据库和/或第二数据库中检索到推荐词数据时,基于所检索到的关键词所对应的推荐词数据,确定所述搜索请求数据所对应的推荐结果。
7.根据权利要求6所述的系统,其特征在于,所述确定单元还用于:
当在第一数据库和第二数据库中均未检索到推荐词数据时,将关于内容为空的提示信息作为所述搜索请求数据所对应的推荐结果。
8.根据权利要求6-7中任一项所述的系统,其特征在于,所述执行单元包括:
第一执行子单元,用于按照同步请求方式在第一数据库中分别检索各个关键词所对应的推荐词数据,并且,当任一关键词在所述第一数据库中未检索到推荐数据时,按照异步请求方式在第二数据库中检索该关键词所对应的推荐词数据。
9.根据权利要求6-7中任一项所述的系统,其特征在于,所述执行单元包括:
第二执行子单元,用于按照同步请求方式在第一数据库中分别检索各个关键词所对应的索引,当检索到所述索引,则在第一数据库中检索所述索引对应的推荐词数据,当任一关键词在所述第一数据库中未检索到所述索引时,按照异步请求方式在第二数据库中检索该关键词所对应的索引;
当在第二数据库中检索到该关键词对应的索引时,按照同步请求方式在第一数据库中检索该关键词对应的索引的推荐词数据,并且,当基于任一关键词对应的索引在所述第一数据库中未检索到推荐词数据时,按照异步请求方式在第二数据库中检索该关键词对应的索引的推荐词数据。
10.根据权利要求9所述的系统,其特征在于,所述第二执行子单元还用于:
当在第二数据库中未检索到关键词对应的索引时,将关键词转换为拼音;
设置所述拼音作为拼音关键词,并按照同步请求方式在第一数据库中分别检索各个拼音关键词所对应的索引,当检索到拼音关键词所对应的索引时,按照同步请求方式在第一数据库中检索所述索引所对应的推荐词数据,并且,当任一拼音关键词在所述第一数据库中未检索到所述索引时,按照异步请求方式在第二数据库中检索该拼音关键词所对应的索引;
当在第二数据库中检索到该拼音关键词对应的索引时,按照同步请求方式在第一数据库中检索该索引所对应的推荐词数据,并且,当基于任一拼音关键词对应的索引在所述第一数据库中未检索到推荐词数据时,按照异步请求方式在第二数据库中检索该索引所对应的推荐词数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511025071.8A CN105653697B (zh) | 2015-12-30 | 2015-12-30 | 一种推荐词检索方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511025071.8A CN105653697B (zh) | 2015-12-30 | 2015-12-30 | 一种推荐词检索方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105653697A true CN105653697A (zh) | 2016-06-08 |
CN105653697B CN105653697B (zh) | 2020-04-17 |
Family
ID=56491064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511025071.8A Active CN105653697B (zh) | 2015-12-30 | 2015-12-30 | 一种推荐词检索方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653697B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294651A (zh) * | 2016-08-03 | 2017-01-04 | 北京金和网络股份有限公司 | 基于搜索埋点的决策数据挖掘方法 |
CN108446316A (zh) * | 2018-02-07 | 2018-08-24 | 北京三快在线科技有限公司 | 联想词的推荐方法、装置、电子设备及存储介质 |
CN108733759A (zh) * | 2017-04-25 | 2018-11-02 | 松下知识产权经营株式会社 | 单词扩展方法、单词扩展装置以及程序 |
CN108763332A (zh) * | 2018-05-10 | 2018-11-06 | 北京奇艺世纪科技有限公司 | 一种搜索提示词的生成方法和装置 |
CN110365998A (zh) * | 2019-06-17 | 2019-10-22 | 北京奇艺世纪科技有限公司 | 音视频数据发布方法、装置、计算机设备及存储介质 |
CN111966819A (zh) * | 2020-10-22 | 2020-11-20 | 耀方信息技术(上海)有限公司 | 药品推荐的召回方法及其系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050177567A1 (en) * | 2003-03-19 | 2005-08-11 | International Business Machines Corporation | Search for specific files from the run menu |
CN102915380A (zh) * | 2012-11-19 | 2013-02-06 | 北京奇虎科技有限公司 | 用于对数据进行搜索的方法和系统 |
CN102930054A (zh) * | 2012-11-19 | 2013-02-13 | 北京奇虎科技有限公司 | 数据搜索方法及系统 |
CN103365914A (zh) * | 2012-04-10 | 2013-10-23 | 北京易盟天地信息技术有限公司 | 基于搜索引擎的数据库查询系统和方法 |
CN103593371A (zh) * | 2012-08-16 | 2014-02-19 | 腾讯科技(深圳)有限公司 | 推荐搜索关键词的方法和装置 |
-
2015
- 2015-12-30 CN CN201511025071.8A patent/CN105653697B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050177567A1 (en) * | 2003-03-19 | 2005-08-11 | International Business Machines Corporation | Search for specific files from the run menu |
CN103365914A (zh) * | 2012-04-10 | 2013-10-23 | 北京易盟天地信息技术有限公司 | 基于搜索引擎的数据库查询系统和方法 |
CN103593371A (zh) * | 2012-08-16 | 2014-02-19 | 腾讯科技(深圳)有限公司 | 推荐搜索关键词的方法和装置 |
CN102915380A (zh) * | 2012-11-19 | 2013-02-06 | 北京奇虎科技有限公司 | 用于对数据进行搜索的方法和系统 |
CN102930054A (zh) * | 2012-11-19 | 2013-02-13 | 北京奇虎科技有限公司 | 数据搜索方法及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294651A (zh) * | 2016-08-03 | 2017-01-04 | 北京金和网络股份有限公司 | 基于搜索埋点的决策数据挖掘方法 |
CN108733759A (zh) * | 2017-04-25 | 2018-11-02 | 松下知识产权经营株式会社 | 单词扩展方法、单词扩展装置以及程序 |
CN108446316A (zh) * | 2018-02-07 | 2018-08-24 | 北京三快在线科技有限公司 | 联想词的推荐方法、装置、电子设备及存储介质 |
CN108763332A (zh) * | 2018-05-10 | 2018-11-06 | 北京奇艺世纪科技有限公司 | 一种搜索提示词的生成方法和装置 |
CN110365998A (zh) * | 2019-06-17 | 2019-10-22 | 北京奇艺世纪科技有限公司 | 音视频数据发布方法、装置、计算机设备及存储介质 |
CN110365998B (zh) * | 2019-06-17 | 2021-09-28 | 北京奇艺世纪科技有限公司 | 音视频数据发布方法、装置、计算机设备及存储介质 |
CN111966819A (zh) * | 2020-10-22 | 2020-11-20 | 耀方信息技术(上海)有限公司 | 药品推荐的召回方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105653697B (zh) | 2020-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105653697A (zh) | 一种推荐词检索方法及系统 | |
US11068441B2 (en) | Caseless file lookup in a distributed file system | |
US9424351B2 (en) | Hybrid-distribution model for search engine indexes | |
US20060294049A1 (en) | Back-off mechanism for search | |
US20210073463A1 (en) | Human-computer interaction method and apparatus thereof | |
CN102129425B (zh) | 数据仓库中大对象集合表的访问方法及装置 | |
JP5555809B2 (ja) | テレビ検索アシスタントのためのシステム及び方法 | |
JP2008102765A (ja) | 検索処理方法及び検索システム | |
WO2009031759A1 (en) | Method and system for generating search collection of query | |
US10235427B2 (en) | Entity-driven logic for improved name-searching in mixed-entity lists | |
CN102200972A (zh) | 一种数据库维护方法和设备 | |
US9734178B2 (en) | Searching entity-key associations using in-memory objects | |
CN104881466A (zh) | 数据分片的处理以及垃圾文件的删除方法和装置 | |
CN103942205A (zh) | 存储、读取目录索引的方法、装置及系统 | |
CN105117433A (zh) | 一种基于Hive解析HFile统计查询HBase的方法和系统 | |
CN107609192A (zh) | 一种搜索引擎的补充搜索方法和装置 | |
CN108319608A (zh) | 访问日志存储查询的方法、装置及系统 | |
CN112131214A (zh) | 数据写入、数据查询的方法、系统、设备和存储介质 | |
WO2014102750A1 (en) | Method of and system for furnishing a user of a client device with a network resource | |
CN114139040A (zh) | 一种数据存储及查询方法、装置、设备及可读存储介质 | |
CN113849499A (zh) | 数据的查询方法、装置、存储介质及电子装置 | |
CN109902200A (zh) | 一种视频搜索排序的方法、装置及服务器 | |
CN111125156A (zh) | 数据的查询方法、装置和电子设备 | |
US8756218B1 (en) | Query classification based on search engine results | |
CN115543994A (zh) | 元数据检索方法、服务器、检索方法及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |