一种搜索方法及装置,电子设备与流程

文档序号:12034753阅读:163来源:国知局
一种搜索方法及装置,电子设备与流程

本申请涉及搜索技术领域,特别是涉及一种搜索方法及装置,电子设备。



背景技术:

随着互联网技术的发展,信息搜索已经不仅限于客户端本地存储的信息的搜索,还包括全网信息的搜索。全网信息的搜索通常由服务器执行。现有技术中,当客户端接收到搜索请求时,客户端通常同时启动客户端和服务器执行搜索操作,并将客户端执行本地搜索的搜索结果和服务器执行网络搜索的搜索结果进行融合、去重后,按照时间或相关性排序,并反馈给客户端。

可见,现有技术中的搜索方法至少存在由于频繁启动网络搜索而导致网络资源浪费和搜索效率低下的问题。



技术实现要素:

本申请实施例提供一种搜索方法,解决现有技术中存在的搜索效率低下的问题。

为了解决上述问题,第一方面,本申请实施例提供了一种搜索方法,包括:

基于预设词库确定搜索词的模糊属性;

基于所述模糊属性,启动相应的搜索操作;

根据所述搜索操作,召回所述搜索词对应的搜索结果。

第二方面,本申请实施例提供了一种搜索装置,包括:

模糊属性确定模块,用于基于预设词库确定搜索词的模糊属性;

搜索模块,用于基于所述模糊属性确定模块确定的模糊属性,启动相应的搜索操作;

搜索结果召回模块,用于根据所述搜索模块启动的搜索操作,召回所述搜索词对应的搜索结果。

第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的搜索方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请实施例所述的搜索方法的步骤。

本申请实施例公开的搜索方法,通过基于预设词库确定搜索词的模糊属性,并基于所述模糊属性,执行相应的搜索操作,最后,根据所述搜索操作,召回所述搜索词对应的搜索结果,解决了现有技术中存在的搜索效率低下的问题。通过根据搜索词的模糊属性启动相应的搜索操作,根据搜索词的模糊属性确定是否需要启动服务器执行网络搜索,不需要在每次搜索时都启动服务器执行网络搜索,有效地提高了搜索效率。同时,通过根据搜索词的模糊属性确定启动客户端执行本地搜索或启动服务器执行网络搜索,仅对差异性大的搜索词启动网络搜索,保证了搜索结果的准确性。并且,通过仅在必要时才启动服务器执行网络搜索,有效地减少服务器的访问次数,进一步节约网络资源。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例一的搜索方法的流程图;

图2是本申请实施例二的搜索方法的流程图;

图3是本申请实施例三的搜索装置结构示意图之一;

图4是本申请实施例三的搜索装置结构示意图之二。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

实施例一

本申请公开的一种搜索方法,如图1所示,该方法包括:步骤100至步骤120。

步骤100,基于预设词库确定搜索词的模糊属性。

具体实施时,首先根据业务系统存储的搜索记录建立预设词库。具体实施时,所述搜索记录中包括所有用户在该业务系统执行的搜索操作的搜索词和对应的搜索结果。所述预设词库记录了模糊搜索词。具体实施时,将对应的搜索结果数量与所有搜索词对应的搜索结果的总数量的比值大于预设差异性临界值的搜索词,定义为模糊搜索词。

具体实施时,可以将获取的搜索词与所述预设词库中的搜索词进行匹配,若所述搜索词包含在所述预设词库中,则确定所述搜索词为模糊搜索词。否则,确认该搜索词为精确搜索词。通常,模糊搜索词对应的搜索结果较多。

步骤110,基于所述模糊属性,启动相应的搜索操作。

当确定所述搜索词的模糊属性,即已经确定搜索词为模糊搜索词或精确搜索词之后,根据搜索词的模糊属性具体选择相应的搜索操作。所述搜索操作包括:执行本地搜索、服务器执行网络搜索,以及,服务器执行网络搜索后客户端执行本地搜索。

当确定所述搜索词为模糊搜索词时,通常认为与该搜索词匹配的搜索结果较多,客户端的搜索结果足以满足搜索需求,为了减少网络负担,可以仅在客户端执行本地搜索。

当确定所述搜索词为精确搜索词时,通常认为与该搜索词匹配的搜索结果较少,为了保证搜索结果的准确性和全面性,首先启动服务器执行网络搜索。进一步的,在启动服务器执行网络搜索之后,可以根据服务器端返回的搜索结果的数量确定是否继续执行本地搜索。

步骤120,根据所述搜索操作,召回所述搜索词对应的搜索结果。

启动相应的搜索操作之后,从所述搜索操作执行后获取的搜索结果中召回所述搜索词对应的搜索结果。具体实施时,如果所述搜索操作为仅执行本地搜索,则从所述本地搜索的搜索结果中召回所述搜索词对应的搜索结果;如果所述搜索操作为仅启动服务器执行网络搜索,则从所述网络搜索的搜索结果中召回所述搜索词对应的搜索结果;如果所述搜索操作为启动服务器执行网络搜索并执行本地搜索,则将所述网络搜索和本地搜索进行融合,并从融合后的搜索结果中召回所述搜索词对应的搜索结果。

本申请实施例公开的搜索方法,通过基于预设词库确定搜索词的模糊属性,并基于所述模糊属性启动相应的搜索操作,最后,根据所述搜索操作,召回所述搜索词对应的搜索结果,解决了现有技术中存在的搜索效率低下的问题。通过根据搜索词的模糊属性启动相应的搜索操作,根据搜索词的模糊属性确定是否需要启动服务器执行网络搜索,不需要每次搜索时都启动服务器执行网络搜索,有效地提高了搜索效率。同时,通过根据搜索词的模糊属性确定启动客户端执行本地搜索或启动服务器执行网络搜索,仅对差异性大的搜索词启动网络搜索,保证了搜索结果的准确性。并且,通过仅在必要时才启动服务器执行网络搜索,有效地减少服务器的访问次数,进一步节约网络资源。

实施例二

本申请公开的一种搜索方法,如图2所示,该方法包括:步骤200至步骤250。

步骤200,基于预设词库确定搜索词的模糊属性。

具体实施时,所述预设词库中包括多个模糊搜索词。所述模糊搜索词为对应的搜索结果数量与所有搜索结果的总数量的比值满足预设条件的搜索词。

在通过根据获取的搜索词执行搜索操作之前,首先,需要构建预设词库。具体实施时,可以根据业务系统存储的所有搜索词对应的搜索结果和预先设定的差异性临界值,选择差异性较小的模糊搜索词加入预设词库。即将对应的搜索记录中的搜索结果数量与搜索记录中所有搜索词对应的搜索结果的总数量的比值大于预设差异性临界值的搜索词加入预设词库。例如,首先遍历业务系统的搜索记录,确定搜索记录中的所有搜索词,并确定每个搜索词对应的搜索结果,所有搜索词对应的搜索结果的总数量等于各搜索词对应的搜索结果的数量之和。然后,将对应的搜索结果的数量与搜索结果的总数量的比值大于预设差异性临界值的搜索词加入预设词库。假设业务系统的搜索记录中有1000个搜索词,这1000个搜索词对应的搜索结果总数为100000个。以搜索词为手机号:“13368325612”为例,搜索记录中“133”对应的搜索结果数量众多,有21000个,在搜索结果总数量中的占比满足预设条件,如大于20%,而“13368325612”的搜索结果只有100个,则确定“133”为差异性小的部分,“68325612”为差异性大的部分,将“133”加入预设词库。所述预设词库中的搜索词包括:拼音串、数字串、文本串等。仍以业务系统的搜索记录中有1000个搜索词,这1000个搜索词对应的搜索结果总数为100000个为例。遍历搜索词“李明”的搜索结果,如果在业务系统的搜索记录中,匹配“李明”的搜索结果有2500个,匹配“李明旭”的搜索结果有10个,还有其他包含“李明”的词的搜索结果,若把差异临界值设置为2%,则搜索词“李明”的2500个搜索结果占所有结果总数量100000的2.5%,满足预设条件,将被加入预设词库。而“李明旭”将不被加入预设词库。再如搜索词为文本串:“裘旭东”,在搜索记录中“裘”对应的搜索结果数量很少,有100个,在搜索结果总数量中的占比为0.1%,不满足预设条件,因此确定“裘”为差异性大的部分,不加入预设词库。

具体实施时,差异临界值根据业务系统的所有搜索结果的总数确定。若业务系统中搜索结果总数数量级巨大,为了减少数据处理负担,则设置的差异临界值较低,即占比较低,以减少预设词库的容量。

所述预设词库中包括多个模糊搜索词;所述基于预设词库确定搜索词的模糊属性,包括:将搜索词与预设词库中的模糊搜索词进行匹配;若匹配成功,则确定所述搜索词为模糊搜索词;若匹配不成功,则确定所述搜索词为精确搜索词。

具体实施时,可以将获取的搜索词与所述预设词库中的搜索词分别进行匹配。以搜索词为“李明”为例,将“李明”与预设词库中的每个词语分别进行匹配,直到匹配成功,或者全部匹配一遍,没有匹配成功的结果。若匹配成功,则说明所述搜索词包含在所述预设词库中,确定所述搜索词为模糊搜索词。若匹配不成功,则说明所述搜索词没有包含在所述预设词库中,则确认该搜索词为精确搜索词。通常,模糊搜索词对应的搜索结果较多。

步骤210,判断所述搜索词是否为精确搜索词,若是,则执行步骤220;否则,执行步骤240。

当确定所述搜索词的模糊属性,即已经确定搜索词为模糊搜索词或精确搜索词之后,根据搜索词的模糊属性具体选择相应的搜索操作。基于所述模糊属性,启动相应的搜索操作,包括:若所述搜索词为模糊搜索词,则执行本地搜索;若所述搜索词为精确搜索词,则启动服务器执行网络搜索。

当确定所述搜索词为模糊搜索词时,通常认为与该搜索词匹配的搜索结果较多,客户端的搜索结果足以满足搜索需求,为了减少网络负担,可以仅在客户端执行本地搜索。

当确定所述搜索词为精确搜索词时,通常认为与该搜索词匹配的搜索结果较少,为了保证搜索结果的准确性和全面性,首先启动服务器执行网络搜索。

步骤220,启动服务器执行网络搜索。

客户端发送搜索请求至服务器,启动服务器执行网络搜索。具体实施时,所述搜索请求中包括:搜索词。服务器执行网络搜索时,可以采用完全匹配、模糊匹配等方式在服务器本地存储的数据中执行搜索操作或调用第三方平台的数据接口执行搜索操作。所述服务器根据接收到的搜索请求执行网络搜索的具体实施方式参见现有技术,此处不再赘述。以搜索词为“李明”为例,如在搜索日志、用户数据库、评论日志等数据中搜索,得到的搜索结果如:“李明是高级程序员”、“李明元开发的通信系统很稳定”、“李明明天9点要开会”……

具体实施时,为了提高搜索效率,若所述搜索词为精确搜索词,客户端在向服务器发送搜索请求时,同时发送最近记录时间至所述服务器,用于服务器对获取的搜索结果进行排序,以提高返回的搜索结果的准确率,提高搜索效率。最近记录时间是客户端存储的最新数据的时间。例如,客户端存储的某会话最后一条消息的收发时间点。以搜索词为“lijing”为例,服务器端会得到多条搜索结果,如“李静”、“李晶”、“李静初”、“李晶元”等,现有技术中,通常服务器端会按照文本相关性由高到低的顺序对搜索结果进行排序,例如,排序后的搜索结果为:“李静”、“李晶”、“李静初”、“李晶元”。当客户端发送最近记录时间至所述服务器之后,服务器可以进一步结合最近记录时间对搜素结果进行排序。假设“李静”对应的最近记录时间为5月5日15点10分,“李晶”对应的最近记录时间为6月5日10点10分,则结合最近记录时间的先后顺序对搜索结果进行排序后,得到的搜索结果为:“李晶”、“李静”、“李静初”、“李晶元”。将时间最新的搜索结果优先召回,可以进一步提升用户体验。

具体实施时,服务器端执行网络搜索操作后,将得到网络搜索结果,可以记为result2。

步骤230,判断服务器执行网络搜索获取的搜索结果是否大于预设数量阈值,若是,则执行步骤240,否则,执行步骤250。

当服务器执行网络搜索获取的搜索结果大于预设数量阈值时,认为服务器端与所述搜索词匹配的搜索结果数量可能大于返回客户端的搜索结果的数量,返回的搜索结果可能不是全部搜索结果,则还需要在客户端补充执行本地搜索,进一步融合客户端本地的搜索结果,以保证搜索结果的全面性。所述基于所述模糊属性,执行相应的搜索操作,还包括:若服务器执行网络搜索获取的搜索结果大于预设数量阈值,则启动客户端执行本地搜索。

具体实施时,所述预设数量阈值根据网络状态确定。例如:按照客户端的网络属性(web端网络更好、app端网络相对较差)确定数量阈值,本申请中,为了保证搜索结果的传输速度,将所述预设数量阈值设置为200。通常,服务器执行网络搜索获取的搜索结果的数量会大于预设数量阈值。步骤240,执行本地搜索。

客户端获取用户输入的搜索词,执行本地搜索操作。

执行本地搜索时,可以采用完全匹配、模糊匹配等方式在客户端本地存储的数据中执行搜索操作。如在通讯录、记事本、会话记录、邮件等应用的数据中搜索。以搜索词为“李明”为例,得到的搜索结果如:“李明是高级程序员”、“李明元开发了一套通信系统”、“张三和李明明天要开会”……

客户端执行本地搜索的具体实施方式参见现有技术,此处不再赘述。客户端执行本地搜索操作后,将得到本地搜索结果,可以记为result1。

步骤250,根据所述搜索操作,召回所述搜索词对应的搜索结果。

执行相应的搜索操作之后,从所述搜索操作获取的搜索结果中召回所述搜索词对应的搜索结果。根据执行的所述搜索操作召回所述搜索词对应的搜索结果,包括:若仅执行本地搜索,则从所述本地搜索获取的搜索结果中,召回所述搜索词对应的搜索结果;若仅执行网络搜索,则从所述网络搜索获取的搜索结果中,召回所述搜索词对应的搜索结果;若既执行本地搜索又执行网络搜索,则从所述本地搜索和网络搜索获取的搜索结果中,召回所述搜索词对应的搜索结果。

若前述步骤中确定搜索词为模糊搜索词时,说明与该搜索词匹配的搜索结果较多,不必要调用服务器端的精确搜索,仅启动客户端执行本地搜索,得到的本地搜索结果足以满足召回需求。因此,仅从本地搜索结果result1中召回该搜索词对应的搜索结果。

若前述步骤中确定搜索词为精确搜索词时,说明与该搜索词匹配的搜索结果较少,需要调用服务器端的精确搜索,得到网络搜索结果result2。若result2的数量小于预设数量阈值,则说明服务器已经返回了该搜索词对应的全部搜索结果,则可以仅从网络搜索结果result2中召回该搜索词对应的搜索结果。

若result2的数量大于预设数量阈值,则说明服务器没有返回该搜索词对应的全部搜索结果,为了保证搜索结果的全面,前述步骤中同时启动客户端执行了本地搜索。因此,在召回搜索结果时,需要将本地搜索结果rensult1和网络搜索结果rensult2进行融合,得到融合搜索结果result3,然后,从融合搜索结果result3中召回该搜索词对应的搜索结果。具体实施时,将本地搜索结果rensult1和网络搜索结果rensult2进行融合,主要包括过滤重复的搜索结果。

具体实施时,为了进一步提升用户体验,对于本地搜索结果result1和result2,以及融合搜索结果result3进行召回时,首先按照搜索结果的相关性得分对搜索结果进行排序,选择与搜索词相关性最高的搜索结果进行召回。

本申请实施例公开的搜索方法,通过基于预设词库确定搜索词的模糊属性,并判断所述搜索词是否为精确搜索词,若是,则启动服务器执行网络搜索;否则,启动客户端执行本地搜索;当服务器执行网络搜索返回的搜索结果大于预设数量阈值时,进一步执行本地搜索;最后,根据执行的搜索操作对搜索结果进行召回,解决了现有技术中存在的搜索效率低下的问题。通过根据搜索词的模糊属性确定是否需要启动服务器执行网络搜索,而不需要在每次搜索时都启动服务器执行网络搜索,有效地提高了搜索效率。同时,通过根据搜索词的模糊属性确定启动客户端执行本地搜索或启动服务器执行网络搜索,仅对差异性大的搜索词启动网络搜索,保证了搜索结果的准确性。并且,有效地减少服务器的访问次数,进一步节约网络资源。通过在搜索词为模糊搜索词时,启动服务器执行网络搜索,并在服务器没有返回全部网络搜索结果时,进一步启动客户端执行本地搜索,以补充网络搜索结果,进一步提升了搜索结果的全面性和准确性。

进一步的,通过在启动服务器执行网络搜索时,发送最近记录时间至服务器,用于指示服务器结合所述最近记录时间对搜索结果进行排序,进一步提高搜索结果的准确性。

实施例三

本实施例公开的一种搜索装置,如图3所示,所述装置包括:

模糊属性确定模块300,用于基于预设词库确定搜索词的模糊属性;

搜索模块310,用于基于所述模糊属性确定模块300确定的模糊属性,启动相应的搜索操作;

搜索结果召回模块320,用于根据所述搜索模块310启动的搜索操作,召回所述搜索词对应的搜索结果。

可选的,所述预设词库中包括多个模糊搜索词;如图4所示,所述模糊属性确定模块300包括:

搜索词匹配单元3001,用于将搜索词与所述预设词库中的模糊搜索词进行匹配;

判断确定单元3002,用于若匹配成功,则确定所述搜索词为模糊搜索词;否则,确定所述搜索词为精确搜索词。

可选的,所述模糊搜索词为:对应的搜索结果数量与所有搜索结果的总数量的比值满足预设条件的搜索词。

可选的,如图4所示,所述搜索模块310包括:

本地搜索单元3101,用于若所述搜索词为模糊搜索词,则执行本地搜索;

网络搜索单元3102,用于若所述搜索词为精确搜索词,则启动服务器执行网络搜索。

可选的,如图4所示,所述搜索模块310还包括:

记录时间发送单元3103,用于若所述搜索词为精确搜索词,则发送最近记录时间至所述服务器,用于指示服务器结合所述最近记录时间对搜索结果进行排序。

可选的,如图4所示,所述搜索模块310还包括:

补充搜索单元3104,用于若服务器执行网络搜索获取的搜索结果大于预设数量阈值,则执行本地搜索。

可选的,如图4所示,所述搜索结果召回模块320包括:

第一召回单元3201,用于若仅执行本地搜索,则从所述本地搜索获取的搜索结果中,召回所述搜索词对应的搜索结果;

第二召回单元3202,用于若仅执行网络搜索,则从所述网络搜索获取的搜索结果中,召回所述搜索词对应的搜索结果;

第三召回单元3203,用于若既执行本地搜索又执行网络搜索,则从所述本地搜索和网络搜索获取的搜索结果中,召回所述搜索词对应的搜索结果。

可选的,所述预设数量阈值根据网络状态确定。

本申请实施例公开的搜索装置,通过基于预设词库确定搜索词的模糊属性,并基于所述模糊属性启动相应的搜索操作,最后,根据所述搜索操作,召回所述搜索词对应的搜索结果,解决了现有技术中存在的搜索效率低下的问题。通过根据搜索词的模糊属性确定是否需要启动服务器执行网络搜索,不需要每次搜索时都启动服务器执行网络搜索,有效地提高了搜索效率。同时,通过根据搜索词的模糊属性确定启动客户端执行本地搜索或启动服务器执行网络搜索,仅对差异性大的搜索词启动网络搜索,保证了搜索结果的准确性。并且,有效地减少服务器的访问次数,进一步节约网络资源。通过在搜索词为模糊搜索词时,启动服务器执行网络搜索,并在服务器没有返回全部网络搜索结果时,进一步启动客户端执行本地搜索,以补充网络搜索结果,进一步提升了搜索结果的全面性和准确性。

进一步的,通过在启动服务器执行网络搜索时,发送最近记录时间至服务器,用于指示服务器结合所述最近记录时间对搜索结果进行排序,进一步提高了召回的搜索结果的准确性并提升了用户体验。

相应的,本申请还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例一和实施例二所述的搜索方法。所述电子设备可以为pc机、移动终端、个人数字助理、平板电脑等。

本申请还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例一和实施例二所述的搜索方法的步骤。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上对本申请提供的一种搜索方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1