掌桥专利:专业的专利平台
掌桥专利
首页

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

文献发布时间:2024-04-18 19:58:21


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

技术领域

本公开涉及互联网技术领域,尤其涉及一种搜索方法、装置、电子设备及存储介质。

背景技术

随着现代通信和信息化技术的发展,人们在办公中可以使用的通讯和协同办公类产品越来越多。在大型互联网公司的协同办公场景中,涉及到多个业务团队之间的协作,各个团队成员的办公地点可能并不相同,通过单聊、群聊讨论成为了当前的首要办公模式。

协同办公中的搜索功能作为信息流转的重要一环,在针对单聊、群聊的搜索中需要简单、高效的收集方式。而现有技术中,用户在使用搜索功能时,往往是服务器对用户输入的关键词所匹配的标识信息按照重要程度进行排序,然后发送给客户端,最后才由客户端来呈现给用户。但若用户处于网络环境较差时,服务器与客户端通常连接不顺畅,这会造成用户无法及时获取想要搜索的内容,进而影响用户的使用体验感。

发明内容

本公开提供一种搜索方法、装置、电子设备及存储介质,在用户搜索关键词时,客户端通过获取与关键词相匹配的目标搜索内容,并且至少一个信息收集方式来确定目标搜索内容的重要程度,从而客户端可以根据重要程度的排序,及时且准确地向用户展现其期望搜索到的目标搜索内容。

本公开实施例的技术方案如下:

根据本公开实施例的第一方面,提供一种搜索方法,包括:在用户进行关键词的搜索时,确定与关键词相匹配的至少一个目标搜索内容;根据与目标搜索内容相关联的至少一个信息收集方式,选择目标搜索内容在信息收集方式下的数据特征值;信息收集方式基于时间、内容标识、用户行为、用户关系中的至少一项确定;根据信息收集方式下的数据特征值,确定目标搜索内容的得分值;根据至少一个目标搜索内容的得分值的排序,从高至低依次显示至少一个目标搜索内容。

可选的,该搜索方法,根据与目标搜索内容相关联的至少一个信息收集方式,选择目标搜索内容在信息收集方式下的数据信息;根据信息收集方式下数据信息,确定目标搜索内容的得分值,包括:根据第一信息收集方式,选择与目标搜索内容相关的第一数据特征值,并根据第一数据特征值确定第一得分值;第一信息收集方式基于收集第一数据特征值的第一时间段确定;根据第二信息收集方式,选择与目标搜索内容相关的第二数据特征值,并根据第二数据特征值确定第二得分值;第二信息收集方式基于收集第二数据特征值的第二时间段确定;第一时间段小于第二时间段;根据第三信息收集方式,选择与目标搜索内容相关的第三数据特征值,并根据第三数据特征值确定第三得分值;第三信息收集方式基于用户行为确定;根据第四信息收集方式,选择与目标搜索内容相关的第四数据特征值,并根据第四数据特征值确定第四得分值;第四信息收集方式基于用户关系确定;根据第五信息收集方式,选择与目标搜索内容相关的第五数据特征值,并根据第五数据特征值确定第五得分值;所述第五信息收集方式基于所述管控信息确定;根据第一得分值、第二得分值、第三得分值、第四得分值、第五得分值中的至少一项,确定目标搜索内容的得分值。

可选的,根据第一信息收集方式,选择与目标搜索内容相关的第一数据特征值,并根据第一数据特征值确定第一得分值,包括:在第一信息收集方式指示的第一时间段内,根据第一信息收集方式,选择与目标搜索内容相关的第一数据特征值;第一数据特征值包括用户与目标搜索内容的关联度、用户与目标搜索内容的联系时间、用户在目标搜索内容中的停留时间;根据第一数据特征值和第一信息收集方式对应的第一权重确定目标搜索内容的第一得分值;第一权重表示目标搜索内容在第一信息收集方式下与关键词的匹配程度。

可选的,根据第二信息收集方式,选择与目标搜索内容相关的第二数据特征值,并根据第二数据特征值确定第二得分值,包括:在第二信息收集方式指示的第二时间段内,根据第二信息收集方式,选择与目标搜索内容相关的第二数据特征值;第二时间段大于第一时间段,第二数据特征值包括目标搜索内容的名称与搜索关键词的匹配度、目标搜索内容的内容信息与搜索关键词的匹配度、用户与目标搜索内容的关联度;根据第二数据特征值和第二信息收集方式对应的第二权重确定目标搜索内容的第二得分值。

可选的,根据第三信息收集方式,选择与目标搜索内容相关的第三数据特征值,并根据第三数据特征值确定第三得分值,包括:在第三信息收集方式指示的第三时间段内,根据第三信息收集方式,选择与目标搜索内容相关的第三数据特征值;第三数据特征值包括用户针对目标搜索内容的点击时刻、点击次数;根据第三数据特征值和第三信息收集方式对应的第三权重确定目标搜索内容的第三得分值。

可选的,根据第四信息收集方式,选择与目标搜索内容相关的第四数据特征值,并根据第四数据特征值确定第四得分值,包括:在用户预设的信息获取范围为群聊范围的情况下,根据第四信息收集方式,选择与目标搜索内容相关的第四数据特征值;第四数据特征值包括目标搜索内容的名称与搜索关键词的匹配度、用户与目标搜索内容中的群成员的关联度;根据第四数据特征值和第四信息收集方式对应的第四权重确定目标搜索内容的第四得分值。

可选的,根据第五信息收集方式,选择与目标搜索内容相关的第五数据特征值;第五数据特征值包括目标搜索内容在白名单内的其他用户和/或群聊情况下的加权值,和/或目标搜索内容在黑名单内的其他用户和/或群聊情况下的降权值;目标搜索内容在白名单表示用户关注目标搜索内容;目标搜索内容在黑名单表示用户不关注目标搜索内容;根据第五数据特征值和第五信息收集方式对应的第五权重确定目标搜索内容的第五得分值。

可选的,用户进行关键词的搜索的过程基于目标应用,方法还包括:每隔预设时长,向服务器发送需要获取的目标应用中,与用户相关的用户信息的获取通知;接收服务器发送的与用户相关的用户信息;与用户相关的用户信息表示与用户相关的全部的用户信息,或者与用户相关的更新后的用户信息,或者与用户相关的匹配度大于或者等于预设匹配度的用户信息;用户信息包括用户本人以及与用户建立联系的其他用户的用户名称、用户归属信息、用户职位信息、用户联系人信息,以及与用户建立联系的群组的群组名称、群组归属信息、群组部门信息中的一项或多项。

根据本公开实施例的第二方面,提供一种搜索方法,应用于通信系统,通信系统包括客户端和服务器;上述方法包括:客户端每隔预设时长,向服务器发送需要获取的与用户相关的数据特征值的获取通知;服务器接收获取通知,并根据获取通知向客户端发送与用户相关的数据特征值;客户端接收服务器发送的与用户相关的数据特征值;客户端在用户进行关键词的搜索时,确定与关键词相匹配的至少一个目标搜索内容;客户端根据与目标搜索内容相关联的至少一个信息收集方式,选择目标搜索内容在信息收集方式下的数据特征值;信息收集方式基于时间、内容标识、用户行为、用户关系、管控策略中的至少一项确定;客户端根据信息收集方式下的数据特征值,确定目标搜索内容的得分值;客户端根据至少一个目标搜索内容的得分值的排序,从高至低依次显示至少一个目标搜索内容。

可选的,客户端根据第一信息收集方式,选择与目标搜索内容相关的第一数据特征值,并根据第一数据特征值确定第一得分值;第一信息收集方式基于收集第一数据特征值的第一时间段确定;客户端根据第二信息收集方式,选择与目标搜索内容相关的第二数据特征值,并根据第二数据特征值确定第二得分值;第二信息收集方式基于收集第二数据特征值的第二时间段确定;第一时间段小于第二时间段;客户端根据第三信息收集方式,选择与目标搜索内容相关的第三数据特征值,并根据第三数据特征值确定第三得分值;第三信息收集方式基于用户行为确定;客户端根据第四信息收集方式,选择与目标搜索内容相关的第四数据特征值,并根据第四数据特征值确定第四得分值;第四信息收集方式基于用户关系确定;根据第五信息收集方式,选择与目标搜索内容相关的第五数据特征值,并根据第五数据特征值确定第五得分值;第五信息收集方式基于管控信息确定;客户端根据第一得分值、第二得分值、第三得分值、第四得分值、第五得分值中的至少一项,确定目标搜索内容的得分值。

可选的,客户端在第一信息收集方式指示的第一时间段内,根据第一信息收集方式,选择与目标搜索内容相关的第一数据特征值;第一数据特征值包括用户与目标搜索内容的关联度、用户与目标搜索内容的联系时间、用户在目标搜索内容中的停留时间;客户端根据第一数据特征值和第一信息收集方式对应的第一权重确定目标搜索内容的第一得分值;第一权重表示目标搜索内容在第一信息收集方式下与关键词的匹配程度。

可选的,客户端在第二信息收集方式指示的第二时间段内,根据第二信息收集方式,选择与目标搜索内容相关的第二数据特征值;第二时间段大于第一时间段,第二数据特征值包括目标搜索内容的名称与搜索关键词的匹配度、目标搜索内容的内容信息与搜索关键词的匹配度、用户与目标搜索内容的关联度;客户端根据第二数据特征值和第二信息收集方式对应的第二权重确定目标搜索内容的第二得分值。

可选的,客户端在第三信息收集方式指示的第三时间段内,根据第三信息收集方式,选择与目标搜索内容相关的第三数据特征值;第三数据特征值包括用户针对目标搜索内容的点击时刻、点击次数;客户端根据第三数据特征值和第三信息收集方式对应的第三权重确定目标搜索内容的第三得分值。

可选的,客户端在用户预设的信息获取范围为群聊范围的情况下,根据第四信息收集方式,选择与目标搜索内容相关的第四数据特征值;第四数据特征值包括目标搜索内容的名称与搜索关键词的匹配度、用户与目标搜索内容中的群成员的关联度;客户端根据第四数据特征值和第四信息收集方式对应的第四权重确定目标搜索内容的第四得分值。

可选的,客户端根据第五信息收集方式,选择与目标搜索内容相关的第五数据特征值;第五数据特征值包括目标搜索内容在白名单内的其他用户和/或群聊情况下的加权值,和/或目标搜索内容在黑名单内的其他用户和/或群聊情况下的降权值;目标搜索内容在白名单表示用户关注目标搜索内容;目标搜索内容在黑名单表示用户不关注目标搜索内容;根据第五数据特征值和第五信息收集方式对应的第五权重确定目标搜索内容的第五得分值。

可选的,用户进行关键词的搜索的过程基于目标应用,上述方法还包括:客户端每隔预设时长,向服务器发送需要获取的目标应用中,与用户相关的用户信息的获取通知;服务器接收客户端发送的获取通知,并根据获取通知向客户端发送与用户相关的用户信息;客户端接收服务器发送的与用户相关的用户信息;与用户相关的用户信息表示与用户相关的全部的用户信息,或者与用户相关的更新后的用户信息,或者与用户相关的匹配度大于或者等于预设匹配度的用户信息;用户信息包括用户本人以及与用户建立联系的其他用户的用户名称、用户归属信息、用户职位信息、用户联系人信息,以及与用户建立联系的群组的群组名称、群组归属信息、群组部门信息中的一项或多项。

根据本公开实施例的第三方面,提供一种搜索装置,包括确定单元、选择单元、显示单元。

确定单元,用于在用户进行关键词的搜索时,确定与关键词相匹配的至少一个目标搜索内容;选择单元,用于根据与目标搜索内容相关联的至少一个信息收集方式,选择目标搜索内容在信息收集方式下的数据特征值;信息收集方式基于时间、内容标识、用户行为、用户关系中的至少一项确定;确定单元,还用于根据信息收集方式下的数据特征值,确定目标搜索内容的得分值;显示单元,用于根据至少一个目标搜索内容的得分值的排序,从高至低依次显示至少一个目标搜索内容。

可选的,确定单元,用于根据第一信息收集方式,选择与目标搜索内容相关的第一数据特征值,并根据第一数据特征值确定第一得分值;第一信息收集方式基于收集第一数据特征值的第一时间段确定;根据第二信息收集方式,选择与目标搜索内容相关的第二数据特征值,并根据第二数据特征值确定第二得分值;第二信息收集方式基于收集第二数据特征值的第二时间段确定;第一时间段小于第二时间段;根据第三信息收集方式,选择与目标搜索内容相关的第三数据特征值,并根据第三数据特征值确定第三得分值;第三信息收集方式基于用户行为确定;根据第四信息收集方式,选择与目标搜索内容相关的第四数据特征值,并根据第四数据特征值确定第四得分值;第四信息收集方式基于用户关系确定;根据第五信息收集方式,选择与目标搜索内容相关的第五数据特征值,并根据第五数据特征值确定第五得分值;第五信息收集方式基于管控信息确定;根据第一得分值、第二得分值、第三得分值、第四得分值、第五得分值中的至少一项,确定目标搜索内容的得分值。

可选的,选择单元,用于在第一信息收集方式指示的第一时间段内,根据第一信息收集方式,选择与目标搜索内容相关的第一数据特征值;第一数据特征值包括用户与目标搜索内容的关联度、用户与目标搜索内容的联系时间、用户在目标搜索内容中的停留时间;确定单元,还用于根据第一数据特征值和第一信息收集方式对应的第一权重确定目标搜索内容的第一得分值;第一权重表示目标搜索内容在第一信息收集方式下与关键词的匹配程度。

可选的,选择单元,还用于在第二信息收集方式指示的第二时间段内,根据第二信息收集方式,选择与目标搜索内容相关的第二数据特征值;第二时间段大于第一时间段,第二数据特征值包括目标搜索内容的名称与搜索关键词的匹配度、目标搜索内容的内容信息与搜索关键词的匹配度、用户与目标搜索内容的关联度;确定单元,还用于根据第二数据特征值和第二信息收集方式对应的第二权重确定目标搜索内容的第二得分值。

可选的,选择单元,还用于在第三信息收集方式指示的第三时间段内,根据第三信息收集方式,选择与目标搜索内容相关的第三数据特征值;第三数据特征值包括用户针对目标搜索内容的点击时刻、点击次数;确定单元,还用于根据第三数据特征值和第三信息收集方式对应的第三权重确定目标搜索内容的第三得分值。

可选的,选择单元,还用于在用户预设的信息获取范围为群聊范围的情况下,根据第四信息收集方式,选择与目标搜索内容相关的第四数据特征值;第四数据特征值包括目标搜索内容的名称与搜索关键词的匹配度、用户与目标搜索内容中的群成员的关联度;确定单元,还用于根据第四数据特征值和第四信息收集方式对应的第四权重确定目标搜索内容的第四得分值。

可选的,选择单元,还用于根据第五信息收集方式,选择与目标搜索内容相关的第五数据特征值;第五数据特征值包括目标搜索内容在白名单内的其他用户和/或群聊情况下的加权值,和/或目标搜索内容在黑名单内的其他用户和/或群聊情况下的降权值;目标搜索内容在白名单表示用户关注目标搜索内容;目标搜索内容在黑名单表示用户不关注目标搜索内容;确定单元,还用于根据第五数据特征值和第五信息收集方式对应的第五权重确定目标搜索内容的第五得分值。

可选的,搜索装置还包括发送单元和接收单元。

可选的,发送单元,用于每隔预设时长,向服务器发送需要获取的目标应用中,与用户相关的用户信息的获取通知;接收单元,用于接收服务器发送的与用户相关的用户信息;与用户相关的用户信息表示与用户相关的全部的用户信息,或者与用户相关的更新后的用户信息,或者与用户相关的匹配度大于或者等于预设匹配度的用户信息;用户信息包括用户本人以及与用户建立联系的其他用户的用户名称、用户归属信息、用户职位信息、用户联系人信息,以及与用户建立联系的群组的群组名称、群组归属信息、群组部门信息中的一项或多项。

根据本公开实施例的第四方面,提供一种电子设备,可以包括:处理器和用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现上述第一方面、第二方面中任一种可选的搜索方法。

根据本公开实施例的第五方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面或者第二方面中任一种可选的搜索方法。

根据本公开实施例的第六方面,提供一种计算机程序产品,包含指令,当其在电子设备的处理器上运行时,使得电子设备执行上述第一方面或者第二方面中任一种可选的搜索方法。

本公开提供的技术方案至少带来以下有益效果:

基于上述任一方面,本公开中,在用户搜索关键词时,客户端根据关键词选择与关键词相匹配的目标搜索内容,并且至少一个信息收集方式下的数据特征值来确定目标搜索内容的得分值,从而客户端可以根据得分值的排序,及时且准确地向用户展现其期望搜索到的目标搜索内容。该方法可以应对网络较差的环境下,即弱网环境下,用户进行关键词搜索的场景,因此,本公开中得到目标搜索序列与用户输入的关键词的关联度相对应,根据目标搜索序列来展现搜索内容可以更精准地契合用户的意图,提高搜索效率。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1为本公开实施例提供的一种搜索系统示意图;

图2示出了本公开实施例提供的一种服务器的结构示意图;

图3示出了本公开实施例提供的一种搜索方法的流程示意图一;

图4示出了本公开实施例提供的一种本地化客户端与服务器之间的交互示意图;

图5示出了本公开实施例提供的一种搜索方法的流程示意图二;

图6示出了本公开实施例提供的一种数据队列的示意图;

图7示出了本公开实施例提供的一种搜索方法的流程示意图三;

图8示出了本公开实施例提供的一种搜索界面示意图一;

图9示出了本公开实施例提供的一种数据交互示意图;

图10示出了本公开实施例提供的一种搜索方法的流程示意图四;

图11示出了本公开实施例提供的一种搜索方法的流程示意图五;

图12示出了本公开实施例提供的一种搜索方法的流程示意图六;

图13示出了本公开实施例提供的一种数据存储示意图;

图14示出了本公开实施例提供的一种搜索方法的流程示意图七;

图15示出了本公开实施例提供的一种搜索界面示意图二;

图16示出了本公开实施例提供的一种统计最大点击位置示意图;

图17示出了本公开实施例提供的一种搜索方法的流程示意图八;

图18示出了本公开实施例提供的一种搜索方法的流程示意图九;

图19示出了本公开实施例提供的一种搜索界面示意图三;

图20示出了本公开实施例提供的一种搜索界面示意图四;

图21示出了本公开实施例提供的一种搜索方法的流程示意图十;

图22示出了本公开实施例提供的一种统计点击率示意图一;

图23示出了本公开实施例提供的一种统计点击率示意图二;

图24示出了本公开实施例提供的一种搜索装置的结构框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。

本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。

以下对本公开涉及到的现有技术进行解释。

一、时间戳为数据修改的时间标识。

二、远程字典服务(Remote Dictionary Server,Redis),是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的应用程序编程接口。

Redis常用的数据结构包括有序集合(Zset),Zset保留了集合不能有重复成员的特性,有序集合中的元素根据设置的分数(score)作为排序的依据。

三、时间复杂度,记为O(f(n)),作为一个代表算法输入值的字符串的长度的函数,定性描述该算法的运行时间,随着数据规模n的增大,算法执行时间的增长率和f(n)的增长率相同。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。

常数复杂度O(1)表示,不管n等于多少,算法始终只会执行一次。

对数复杂度O(log(N))表示,当算法随着输入规模翻倍,操作次数只增加一。

四、倒排索引,(Inverted Index):倒排索引是实现“单词-文档矩阵”的一种具体存储形式,通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。倒排索引主要由两个部分组成:“单词词典”和“倒排文件”。

单词词典(Lexicon):搜索引擎的通常索引单位是单词,单词词典是由文档集合中出现过的所有单词构成的字符串集合,单词词典内每条索引项记载单词本身的一些信息以及指向“倒排列表”的指针。

倒排列表(Posting List):倒排列表记载了出现过某个单词的所有文档的文档列表及单词在该文档中出现的位置信息,每条记录称为一个倒排项(Posting)。根据倒排列表,即可获知哪些文档包含某个单词。

倒排文件(Inverted File):所有单词的倒排列表往往顺序地存储在磁盘的某个文件里,这个文件即被称之为倒排文件,倒排文件是存储倒排索引的物理文件。

五、埋点:是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。比如用户某个目标的点击次数、观看某个视频的时长等等。埋点的技术实质,是先监听软件应用运行过程中的事件,当需要关注的事件发生时进行判断和捕获。

六、日志系统:使用文字或者日志的方式记录系统运行的每一个状况信息,日志的类型很多,主要包括系统日志、应用程序日志和安全日志还包括很多数据库的日志等。每条日志都记载着时间戳、相关设备名称、使用者及操作行为等相关的描述。

如背景技术中所描述,随着现代通信和信息化技术的发展,人们在办公中可以使用的通讯和协同办公类产品越来越多。在大型互联网公司的协同办公场景中,涉及到多个业务团队之间的协作,各个团队成员的办公地点可能并不相同,通过单聊、群聊讨论成为了当前的首要办公模式。协同办公中的搜索功能作为信息流转的重要一环,在针对单聊、群聊的搜索中需要简单、高效的收集方式。而现有技术中,用户在使用搜索功能时,往往是服务器对用户输入的关键词所匹配的标识信息按照重要程度进行排序,然后发送给客户端,最后才由客户端来呈现给用户。但若用户处于网络环境较差时,服务器与客户端通常连接不顺畅,这会造成用户无法及时获取想要搜索的内容,进而影响用户的使用体验感。

基于此,本公开实施例提供一种搜索方法,在用户搜索关键词时,客户端根据关键词选择与关键词相匹配的目标搜索内容,并且至少一个信息收集方式下的数据特征值来确定目标搜索内容的得分值,从而客户端可以根据得分值的排序,及时且准确地向用户展现其期望搜索到的目标搜索内容。该方法可以应对网络较差的环境下,即弱网环境下,用户进行关键词搜索的场景,因此,本公开中得到目标搜索序列与用户输入的关键词的关联度相对应,根据目标搜索序列来展现搜索内容可以更精准地契合用户的意图,提高搜索效率。

以下结合附图对本公开实施例提供的搜索方法进行示例性说明:

图1为本公开实施例提供的一种搜索系统示意图,如图1所示,该搜索系统中可以包括:终端设备100和服务器110。

终端设备100与服务器110通信,具体的通信方式可以包括有线通信方式或无线通讯方式等。并且,终端设备100还可以分别与服务器110进行数据交互。终端设备100安装具有搜索功能的办公应用,例如Kim应用等。

在图1所示的搜索系统中,终端设备100可以是用户账户使用的设备。

上述终端设备100可以为任意的计算机设备,其中,计算机设备包括但不限于手机、平板电脑、台式电脑、笔记本电脑、车载终端、掌上终端、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备等可以安装并使用办公应用(如Kim应用)的设备,本公开实施例对终端设备的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。

终端设备100可以运行有各种为用户提供搜索功能的应用程序,如Kim应用程序、社交应用程序等。示意性地,终端101是用户使用的终端,终端101中运行的应用程序内登录有用户的用户账户。以终端上运行有Kim应用程序为例,该Kim应用程序用于企业内部员工协同办公,该Kim应用程序支持会话功能和群组搜索功能,当用户想要在寻找与某一关键词相匹配的联系人或者群聊时,能够通过搜索功能,搜索并点击用户所期望的联系人或者群聊来实现搜索功能。

平台服务器110可以是一些多媒体资源服务平台的数据服务器。例如,多媒体资源服务平台可以是协同办公平台、短视频应用服务平台、新闻服务平台、网络直播服务平台、购物服务平台、外卖服务平台、共享服务平台、功能性网站等。其中,协同办公平台提供的多媒体资源可以是一些用户信息等,短视频应用服务平台提供的多媒体资源可以是一些短视频作品、图文作品等,新闻服务平台提供的多媒体资源可以是一些新闻信息等,网络直播服务平台提供的多媒体资源可以是网络直播作品等,其余不再一一赘述。本公开对多媒体资源服务平台的具体类型并不作限制。

一些实施例中,服务器110可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本公开对服务器110的具体实现方式也不作限制。

服务器110可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。

在一些实施例中,服务器110还可以包含有数据库或与数据库连接,数据库中存储有资源的资源数据和标识数据,其中,资源可以包括文字、视频、图片、广告、新闻等可以在互联网上传播的内容。

需要说明的是,上述终端设备100也可以称为电子设备。服务器110也可以作为一种电子设备使用。

图2示出了本公开实施例提供的一种电子设备的结构示意图,上述终端设备100和服务器110均可以是该电子设备。如图2所示,该电子设备可以包括至少一个处理器1101以及用于存储处理器1101可执行指令的存储器1102。其中,处理器1101被配置为执行存储器1102中的指令,以实现上述实施例中的搜索方法。

另外,电子设备还可以包括通信总线1103以及至少一个通信接口1104。

处理器1101可以是一个处理器(central processing units,CPU),微处理单元,ASIC,或一个或多个用于控制本公开方案程序执行的集成电路。

通信总线1103可包括一通路,在上述组件之间传送信息。

通信接口1104,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。

存储器1102可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。

其中,存储器1102用于存储执行本公开方案的指令,并由处理器1101来控制执行。处理器1101用于执行存储器1102中存储的指令,从而实现本公开方法中的功能。

在具体实现中,作为一种实施例,处理器1101可以包括一个或多个CPU,例如图2中的CPU0和CPU1。

在具体实现中,作为一种实施例,电子设备可以包括多个处理器,例如图2中的处理器1101和处理器1105。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,电子设备还可以包括输出设备1106和输入设备1107。输出设备1106和处理器1101通信,可以以多种方式来显示信息。例如,输出设备1106可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备1107和处理器1101通信,可以以多种方式接受用户的输入。例如,输入设备1107可以是鼠标、键盘、触摸屏设备或传感设备等。

本领域技术人员可以理解,图2中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

应理解的,图1所示的搜索系统仅为示例,在实际应用中,可以由终端或者服务器独立执行本公开实施例的搜索方法,也可以由终端和服务器配合执行本公开实施例的搜索方法,本公开实施例对具体的搜索系统不作限定。

需要说明的是,上述终端设备100和服务器110均可以称为电子设备。

本公开实施例提供的搜索方法可以应用于前述图1所示的应用场景中的终端设备100和服务器110。

图3示出了本公开实施例提供的一种资源推荐方法的流程示意图。当资源推荐方法应用于上述终端设备100和服务器110时,其中,终端设备100可以是客户端。

如图3所示,该搜索方法在用户进行关键词搜索之前,还可以包括如下步骤:

Sa1、客户端每隔预设时长,向服务器发送需要获取的目标应用中,与用户相关的用户信息的获取通知。

在一些实施例中,预设时长可以是12小时、24小时、48小时等时长,例如客户端每隔24小时向服务器发送需要获取的目标应用中,与用户相关的用户信息的获取通知,本实施例不作具体限制。

Sa2、服务器接收客户端数据全量同步的请求,向客户端同步与用户相关的用户信息。

其中,目标应用可以为各种为用户提供搜索功能的应用程序,如Kim应用程序、社交应用程序等。

用户信息可以包括用户本人以及与用户建立联系的其他用户的基础信息和特征信息,基础信息可以为用户名称、用户归属信息、用户职位信息、用户联系人信息,以及与用户建立联系的群组信息的群组名称、群组归属信息、群组部门信息中的一项或多项;特征信息可以为用户发送/接收的消息数、用户在群聊内发送/接收的消息数、用户在群聊内停留时间等动态行为信息。

用户信息也可以包括用户本人以及与用户建立联系的其他用户的信息,例如其他用户的头像、工作签名、职级大档、徽章数据等员工基础属性字段。

服务器向客户端发送目标应用中,与用户相关的用户信息,即用户全量数据同步的过程。

在一些实施例中,服务器可以将用户信息对应数据的下发与数据查询服务进行拆分,数据下发服务只同步全量用户数据,而数据查询服务面向正常的业务逻辑处理。同时数据下发服务的过程改为文件下载,并且对相关数据进行加密。这样不但可以应对服务器的网络资源带宽问题,还能保证数据下发过程中的安全问题,从而减少服务端接口的调用次数和网络带宽占用。

例如,在目标应用为协同办公软件的情况下,服务端可以按照公司员工的用户类型,(例如一线用户、非一线用户、特权用户等),将用户基础数据按照字符串的形式保存在内存中,然后先通过压缩算法(例如,gzip)进行压缩,再通过对称加密算法(AdvancedEncryption Standard,AES)进行文件的加密,最后上传到各个办公区域的内容分发网络(Content Delivery Network,CDN)中以加快文件的下载速度。通过上述实施例,整个文件的大小从40M下降到2M,比较好地解决了当前全量数据下载时的网络开销过大、速度慢的问题,优化了全量数据的同步过程。

Sa3、客户端接收服务器发送的与用户相关的用户信息。

客户端接收服务器发送的目标应用中,与用户相关的用户信息,即完成服务器与客户端之间的用户全量数据同步过程。

在一些实施例中,本地化客户端与服务端之间的数据交互和本地化搜索流程如图4所示。

在一些实施例中,服务器将用户信息提前存储在CDN中,客户端可以根据服务器的相关信息收集指令,获取对应的用户信息。从而减少用户信息因同步的时间较长,对服务器的查询接口造成的压力较大,进而触发接口的限流,影响了业务的正常运行的问题出现。该方法可以减少数据同步的耗时,并且提升带宽的有效利用率。

可以理解的是,客户端提前从服务器获取与用户相关的用户信息,可以将搜索服务构建在本地的客户端,可以降低在用户使用目标应用程序进行关键词搜索时,存在的无线网络质量较差问题的影响。

在一些实施例中,客户端接收到用户相关的用户信息,可以基于同步获得的用户信息提前构建搜索内容可能涉及到的索引数据。

索引数据通常包括且不限于倒排索引的方式,倒排索引包括单词词典和倒排列表,即客户端可以将用户信息中出现的所有单词(词语)组成一个单词词典以及生成倒排列表,单词词典内每条索引项记载单词本身的一些信息以及指向“倒排列表”的指针。倒排列表则记载了出现过某个单词的所有文档的文档列表及单词在该文档中出现的位置信息,每条记录称为一个倒排项(Posting)。根据倒排列表,即可获知哪些文档包含某个单词。从而在用户输入搜索关键词后,客户端可以利用用户信息对应的倒排索引,迅速找到与关键词匹配的目标搜索内容,以及与目标搜索内容相关的数据信息。

由上述步骤Sa1-Sa3可知,本公开提供的技术方案至少可以带来以下有益效果:在用户进行关键词搜索之前,客户端可以每隔预设时长向服务器拉取目标应用中,与用户相关的信息。客户端接收用户信息,即完成服务器与客户端之间的用户全量数据同步的过程。并且服务器可以将用户信息对应数据的下发与数据查询服务进行拆分,以及对用户信息对应的数据进行压缩,加密,较好地解决了当前全量数据下载时的网络开销过大、速度慢、安全性差等问题,优化了全量数据的同步过程。

在另一些实施例中,如图5所示,该搜索方法可以包括步骤Sb1至Sb3。

Sb1、客户端每隔预设时长,向服务器发送需要获取的目标应用中,与用户相关的更新后的用户信息的获取通知。

在一些实施例中,预设时长可以是2分钟、5分钟、1小时、6小时等时长,例如客户端每隔5分钟向服务器发送需要获取的目标应用中,与用户相关的更新后的用户信息的获取通知,本实施例不作具体限制。

Sb2、服务器接收客户端发送的获取通知,并根据获取通知向客户端发送与用户相关的更新后的用户信息。

在一些实施例中,为了进一步减少增量数据同步所下发的数据,可以是收敛需要实时下发的用户基础数据字段。例如,将70+个用户字段收敛到用户名,部门别名,昵称,备注等几个核心字段。

在一些实施例中,可以采用数据合并的思想,针对短时间内用户数据变化过于频繁的问题进行优化。在服务端设计一个有序集合,比如类似Redis ZSET数据结构,以用户身份(Identity document,id)作为元素,更新时间作为排序的分数,当相关字段的用户数据发生变化时,将数据存储到有序集合中,集合最大保存K个元素,K的大小与网络开销和全量数据大小有关。有序集合能够根据输入水位,获取其与最大水位之间的数据集合。

如图6所示,例如,当客户端根据之前的数据水位Sk请求数据时,结合当前的最新水位S1,能够获取到[Sk,S1]范围内变化的数据。同时,当短时间内存在大量数据变更导致队列元素已到达预设数据值K时,且队首与队尾元素的时间差小于某一个时间阈值T时(比如1天),说明短时间内存在大量数据变更,利用全量同步良好的性能,可以立即触发全量数据同步任务,并通知客户端通过全量数据同步接口对当前基础数据进行更新。

Sb3、客户端接收服务器发送的目标应用中,与用户相关的更新后的用户信息。

更新后的数据,即为用户增量数据同步的过程。用户增量数据同步,例如主站、电商等大部门的组织架构调整,会导致部门下的所有员工数据进行更新;或者,上线新的产品特性需要新增加数据库表结构字段时,有可能也会导致短时间内相关属性字段批量进行变更,例如,面对世界杯主题的用户头像、新的工作签名、增加新的员工基础属性字段(如职级大档、徽章数据等)等。

由上述步骤Sb1-Sb3可知,本公开提供的技术方案至少可以带来以下有益效果:在用户进行关键词搜索之前,客户端可以每隔预设时长向服务器拉取目标应用中,与用户相关的更新后的用户信息。客户端接收用户信息,即完成服务器与客户端之间的用户增量数据同步的过程,保证了搜索的实时性。并且可以通过收敛需要实时下发的用户基础数据字段,从而使服务器将客户端用户页面所需要实时关心的增量用户信息,发送给客户端,降低网络带宽,提升客户端性能。

如图7所示,该搜索方法可以包括步骤S101至S104。

S101、客户端在用户进行关键词的搜索时,确定与关键词相匹配的至少一个目标搜索内容。

其中,关键词用于指示该用户的搜索目的,即,该用户期望搜索到的目标搜索内容。目标搜索内容与该关键字匹配,表明该目标搜索内容符合该目标账户的搜索目的。

不同信息收集方式对应的数据信息不同,信息收集方式基于时间、内容标识、用户行为、用户关系、管控信息中的至少一项确定。

在一些实施例中,在应用场景为协同办公场景的情况下,目标搜索内容可以是与关键词的名称相匹配的联系人、群聊、应用、流程审批或者文档等,本实施例不作具体限制。

在一些实施例中,与关键词的名称相匹配的联系人或者群组除了支持姓名以外,还可以支持昵称,别名,对外别名,备注名,以及对应的拼音、简拼等各种索引模式。

在一些实施例中,服务器基于用户输入的关键词,应用至少一种关键字匹配模式,在该目标账户建立关联关系的联系人或者群组中进行搜索,得到至少一个目标搜索信息。其中,关键字匹配模式包括中文匹配、中文拼音全匹配、前缀匹配、部分匹配以及中文简拼全匹配等模式。通过这种应用多种关键字匹配模式的方式,能够支撑多模式搜索的需求,提高用户的搜索效率。

在一些实施例中,该关键字包括联系人、群聊、应用、流程审批或者文档的名称。例如,如图8所示,以关键字包括名称“反馈”为例,与关键词“反馈”匹配的联系人的名称分别为“反馈联系人1”、“反馈联系人2”、“反馈联系人3”,群聊的名称为“反馈组1”、“反馈组2”、文档的名称为“反馈问题文档”、“反馈处理步骤文档”。

由于针对目标搜索内容对应的部分搜索特征的获取需要付出的代价极大,例如搜索联系人或者搜索群聊中的会话点击特征、消息发送数量或者时间、会话停留时长等。在一些情境下,用户在任意会话上切换时,基于埋点的特征获取方式就会产生新会话的进入和原有会话的离开两个埋点事件。这样的会话切换可以说是Kim相关协同办公应用中操作最为频繁的功能,几乎所有有关消息的操作都会触发会话的点击事件,这样针对会话点击特征的采集会导致在Kim协同办公应用在使用过程中性能受损。因此可以选择更有针对性的,更高效的目标搜索内容对应的数据的采集。

针对协同办公类产品,由于基于埋点的大数据日志方式对目标搜索内容对应的数据的收集,会对协同办公类产品造成较强的业务侵入性,因此,如图9所示,以IM中台和Kim协同办公应用为例,可以尝试通过服务器的角度进行核心特征的收集,进而获取目标搜索内容对应的特征数据:

步骤1、客户端在发送消息的过程中会通过上行通道将用户信息发送到IM中台,相关数据会直接存储在IM中台中的数据库(Database,DB)。

步骤2、IM中台通过提供开放能力将消息数据发送到Kafka中供第三方服务处理相关消息数据。

步骤3、Kim服务端作为第三方服务实时监听到消息的变更后,然后进行搜索特征的生产与处理,并最终将结果存储到中间件中,供上层的搜索服务调用。搜索服务将处理后的特征数据信息下发到客户端本地,从而完成整个特征数据信息的处理链路。

S102、客户端根据与目标搜索内容相关联的至少一个信息收集方式。

S103、客户端根据信息收集方式下的数据特征值,确定目标搜索内容的得分值。

其中,得分值表示目标搜索内容在信息收集方式下,与关键词的相关得分,即目标搜索内容在信息收集方式下,对于关键词的重要程度。

其中,S104、客户端根据至少一个目标搜索内容的得分值的排序,从高至低依次显示至少一个目标搜索内容。

客户端按照目标搜索内容的得分值的大小,来对目标搜索内容进行排序。对于任一目标搜索内容来说,该目标搜索内容的得分值越大,就指示该用户对该目标搜索内容的重要程度越高,表明该目标搜索内容是该用户的搜索目的的可能性越高,则该目标搜索内容的排序位置越靠前。

由上述步骤S101-S104可知,本公开提供的技术方案至少可以带来以下有益效果:在用户搜索关键词时,客户端根据关键词选择与关键词相匹配的目标搜索内容,并且至少一个信息收集方式下的数据特征值来确定目标搜索内容的得分值,从而客户端可以根据得分值的排序,及时且准确地向用户展现其期望搜索到的目标搜索内容。该方法可以应对网络较差的环境下,即弱网环境下,用户进行关键词搜索的场景,因此,本公开中得到目标搜索序列与用户输入的关键词的关联度相对应,根据目标搜索序列来展现搜索内容可以更精准地契合用户的意图,提高搜索效率。

示例性的,如图10所示,基于客户端的本地化搜索策略还可以包括以下步骤S1至S7。

S1、客户端每隔预设时间(例如2分钟),向服务器发送需要获取与用户相关的用户信息的获取通知。

S2、服务器接收客户端发送的获取通知。

S3、服务器根据获取通知,将当前时刻与上一时间戳时刻之间发生变动过的与用户相关的用户信息发送给客户端。

S4、客户端接收用户信息,并根据用户信息建立用户信息对应的倒排索引。

S5、客户端根据用户输入的关键词,以及用户信息对应的倒排索引,确定目标搜索内容以及目标搜索内容相关的数据信息。

S6、客户端基于与目标搜索内容相关联的至少一个信息收集方式,以及信息收集方式对应的数据信息确定目标搜索内容的得分值。

S7、客户端根据目标搜索内容的得分值的排序,从高至低依次显示目标搜索内容。

由上述步骤S1-S7可知,本公开提供的技术方案至少可以带来以下有益效果:在用户进行关键词搜索之前,客户端可以每隔预设时长向服务器拉取与用户相关的用户信息,这样可以提升搜索用户信息数据的实时性。在用户搜索关键词时,客户端根据关键词选择与关键词相匹配的目标搜索内容,并且至少一个信息收集方式下的数据特征值来确定目标搜索内容的得分值,从而客户端可以根据得分值的排序,及时且准确地向用户展现其期望搜索到的目标搜索内容。该方法可以应对网络较差的环境下,即弱网环境下,用户进行关键词搜索的场景,因此,本公开中得到目标搜索序列与用户输入的关键词的关联度相对应,根据目标搜索序列来展现搜索内容可以更精准地契合用户的意图,提高搜索效率。

在一些实施例中,如图11所示,客户端基于与目标搜索内容相关联的至少一个信息收集方式,确定目标搜索内容的得分值,可以包括以下步骤S201至S206。

S201、客户端根据第一信息收集方式,选择与目标搜索内容相关的第一数据特征值,并根据第一数据特征值确定第一得分值。

其中,第一信息收集方式基于收集第一数据特征值的时间段确定。

收集第一数据特征值的时间段可以是以小时为单位的时间段,可以为1小时、2小时、3小时等与用户进行搜索时间接近的时间段,第一信息收集方式也可以称为实时搜索策略,本实施例不作具体限制。

S202、客户端根据第二信息收集方式,选择与目标搜索内容相关的第二数据特征值,并根据第二数据特征值确定第二得分值。

其中,第二信息收集方式基于收集第二数据特征值的时间段确定,第一时间段小于第二时间段。

S203、客户端根据第三信息收集方式,选择与目标搜索内容相关的第三数据特征值,并根据第三数据特征值确定第三得分值。

其中,第三信息收集方式基于用户行为确定。

在一些实施例中,用户行为可以是用户在历史时间内的搜索过程中,针对目标搜索内容的点击行为。

S204、客户端根据第四信息收集方式,选择与目标搜索内容相关的第四数据特征值,并根据第四数据特征值确定第四得分值。

其中,第四信息收集方式基于用户关系确定。

在一些实施例中,在目标搜索内容为其他用户的情况下,用户关系可以是用户与其他用户的部门关联度、用户与其他用户的业务关联度等。

在另一些实施例中,在目标搜索内容为群聊的情况下,用户关系也可以是用户与群聊内成员间的关系,例如与群聊内成员的部门关联度、用户与其他用户的业务关联度等。

S205、客户端根据第五信息收集方式,选择与目标搜索内容相关的第五数据特征值,并根据第五数据特征值确定第五得分值。

其中,第五信息收集方式基于管控策略确定。

在一些实施策略中,基于管控信息的特征值可以是黑白名单下需要实施管控的用户/群数据特征值。

S206、客户端根据第一得分值、第二得分值、第三得分值、第四得分值、第五得分值中的至少一项,确定目标搜索内容的得分值。

在一些实施例中,可以利用公式(1),确定目标搜索内容的得分值:

其中,search_score表示目标搜索内容的总得分值,searchi_score表示第i个信息收集方式的得分值,ω

由上述步骤S201-S206可知,本公开提供的技术方案至少可以带来以下有益效果:在用户进行关键词搜索之前,客户端可以每隔预设时长向服务器拉取与用户相关的用户信息,这样可以提升搜索用户信息数据的实时性。在用户搜索关键词时,客户端根据关键词选择与关键词相匹配的目标搜索内容,并且至少一个信息收集方式下的数据特征值来确定目标搜索内容的得分值,从而客户端可以根据得分值的排序,及时且准确地向用户展现其期望搜索到的目标搜索内容。该方法可以应对网络较差的环境下,即弱网环境下,用户进行关键词搜索的场景,因此,本公开中得到目标搜索序列与用户输入的关键词的关联度相对应,根据目标搜索序列来展现搜索内容可以更精准地契合用户的意图,提高搜索效率。

在一些实施例中,如图12所示,根据第一信息收集方式,选择与目标搜索内容相关的第一数据特征值,并根据第一数据特征值确定第一得分值,可以包括以下步骤S2011至S2012。

S2011、客户端在第一信息收集方式指示的第一时间段内,根据第一信息收集方式,选择与目标搜索内容相关的第一数据特征值。

其中,第一数据特征值可以包括用户与目标搜索内容的关联度、用户与目标搜索内容的联系时间、用户在目标搜索内容中的停留时间。用户与目标搜索内容的关联度可以是用户与目标搜索内容的亲密度(亲密度可以由用户与目标搜索内容之间发送消息的次数、用户是否将目标搜索内容设置为特殊关注等情况来决定)、用户在目标搜索内容中的活跃度(例如,最近一小时内的用户在群聊内发送消息次数、用户在群聊内的活跃行为)、用户在目标搜索内容中的新鲜程度中的一项或多项。

在一些实施例中,第一时间段为可以是以分钟为单位的时间段,可以为1分钟、5分钟、10分钟,30分钟等;或者第一时间段为可以是以小时为单位的时间段,可以为1小时、3小时、5小时,12小时等;或者第一时间段为可以是以天为单位的时间段,可以为1天、2天、3天等,本实施例不作具体限制。

第一信息收集方式也可以称为实时搜索策略。

在一些实施例中,当目标搜索内容为群聊的情况下,第一数据特征值可以包括群聊的活跃程度。

服务器将第一数据特征值存储在数据库DB,客户端在第一信息收集方式指示的第一时间段内,根据第一信息收集方式,从服务端获取与目标搜索内容相关的第一数据特征值。

在一些实施例中,服务器以消息的发送者ID(用户或者与用户建立联系的其他用户)作为Key,将消息的接收者ID(用户或者与用户建立联系的其他用户)作为值(Value)、时间戳作为Score。如图13所示,将数据保存在一个类似Redis的ZSET数据结构中的有序集合中,通过该数据结构可以以O(logN)的时间复杂度获取到指定时间范围内的第一数据特征值,即实时数据特征值存储在数据库中,使得第一数据特征值持久化。

在另一些实施例中,服务器可以以天为单位定时对有序集合内的过期的第一数据特征值进行清空,目的是使实时的消息特征只保存当天的第一数据特征值。

S2012、客户端根据第一数据特征值和第一信息收集方式对应的第一权重确定目标搜索内容的第一得分值。

其中,第一权重表示第一数据特征值在实时搜索策略的得分计算中的重要程度。

在一些实施例中,可以利用公式(2),确定目标搜索内容的第一得分值:

其中,search1_score表示目标搜索内容在第一信息收集方式的得分值,feature

由上述步骤S2011-S2012可知,本公开提供的技术方案至少可以带来以下有益效果:客户端在第一信息收集方式指示的以分钟或小时或天为单位的第一时间段内,根据第一信息收集方式,即实时搜索策略,获取与目标搜索内容相关的第一数据特征值,再根据第一数据特征值和第一权重确定目标搜索内容的第一得分值,即确定目标搜索内容在实时搜索策略下的得分值(重要度),该方法计算简便,方便实施,并且可以应对网络较差的环境下,即弱网环境下,用户进行关键词搜索的场景。

在一些实施例中,如图14所示,根据第二信息收集方式,选择与目标搜索内容相关的第二数据特征值,并根据第二数据特征值确定第二得分值值,可以包括以下步骤S2021至S2022。

S2021、客户端在第二信息收集方式指示的第二时间段内,根据第二信息收集方式,选择与目标搜索内容相关的第二数据特征值。

其中,第二时间段大于第一时间段,第二数据特征值包括目标搜索内容的名称与搜索关键词的匹配度、目标搜索内容的内容信息与搜索关键词的匹配度、用户与目标搜索内容的关联度,其中用户与目标搜索内容的关联度可以是用户的的组织架构(用户的部门结构等)与目标搜索内容的关联度、用户与目标搜索内容的亲密度等一项或多项。

第二信息收集方式也可以称为稳定搜索策略。

第二时间段为以月为单位的时间段,可以为一个月,三个月,六个月等,或者第一时间段为可以是以天为单位的时间段,可以为7天、14天、30天等,本实施例不作具体限制。

在一些实施例中,服务器将与目标搜索内容相关的第二数据特征值经过预存储、计算、再存储,客户端在第二信息收集方式指示的第二时间段内,获取处理后的第二数据特征值。如上述图13所示,在预存储对应的第一阶段,以消息的发送者ID作为Key,将消息的接收者ID(联系人ID或者群聊ID)和时间戳作为元素,分别以长整型的数据类型存储到队列中,每个队列中元素只占用128位(16Byte)。

例如,单个用户每天发送100条消息,三个月对应9000条消息,相应的存储大约需要48K,将存储按照月进行拆分,即每个月单独保存到一个队列中,每个队列需要16K的存储空间。

在一些实施中,服务器可以每天定时对三个月对应的队列中的元素进行迭代处理,按照下面公式(3)计算各个元素的时间衰减得分,获得第二数据特征值。

其中,msg_feature(t,θ)

在获取数据的时长为90天的情况下,参数θ即为90*24*3600*1000。

如上述图13所示,当计算任务计算完当前用户的所有消息队列数据时,即完成该用户第二数据特征值的计算,最终将数据存储到数据库进行持久化,完成消息特征的收集与计算过程,从而客户端可以在第二信息收集方式指示的第二时间段内,获取与目标搜索内容相关的处理后的第二数据特征值。

S2022、客户端根据第二数据特征值和第二信息收集方式对应的第二权重确定目标搜索内容的第二得分值。

其中,第二权重表示第二数据特征值在稳定搜索策略的得分计算中的重要程度。

在一些实施例中,可以设置针对目标搜索信息的得分阈值,从而有效避免某一个常用联系人或者常用群聊的偏好得分过高,造成衰减不下去的现象。再将所有第二数据特征值中的子数据特征值的求和,利用公式(4),确定目标搜索内容的在稳定搜索策略下的第二得分值:

其中,search2_score表示目标搜索内容在第二信息收集方式下的得分值。theshold表示得分阈值,ω

上述步骤S2021-S2022可知,本公开提供的技术方案至少可以带来以下有益效果:客户端在第二信息收集方式指示的以天或月为单位的第二时间段内,根据第二收集方式,即稳定搜索策略,获取与目标搜索内容相关的第二数据特征值,第二数据特征值主要包括目标搜索内容的名称与搜索关键词的匹配度、目标搜索内容的内容信息与搜索关键词的匹配度、用户与目标搜索内容的关联度;并根据第二数据特征值和第二权重确定目标搜索内容的第二得分值,即确定目标搜索内容在稳定搜索策略下的得分值(重要度),该方法计算简便,方便实施,并且可以应对网络较差的环境下,即弱网环境下,用户进行关键词搜索的场景。

第一信息收集方式(实时搜索策略)和第二信息收集(稳定搜索策略)为常用的的根据以用户发送消息对应的数据特征值为基础的信息收集方式,但这样的信息收集方式往往不够全面。例如,如图15所示,在搜索关键词为“反馈”的情况下,采用实时搜索策略和稳定搜索策略,用户实际期望的“体验反馈群”排在第五位,而在极端情况下,用户为了找到想要的群组,可能会一直下滑群组列表直到找到对应的结果。

如图16所示,IM中台(最大点击位置—1)和以Kim办公应用(最大点击位置—2)为例,据统计,在每日的记录的最大点击位置中,最大数据值对应的位置为149。这就意味着,当线上策略不好时,用户为了找到期望的搜索内容可能就需要下拉到150之后的位置,这对于用户的体验无疑是相当不好的,违背了协同办公以提效为目的的基本原则。

因此在一些实施例中,如图17所示,可以根据以用户行为为基础的第三信息收集方式,客户端获取与目标搜索内容相关的第三数据特征值,并根据第三数据特征值确定第三得分值,可以包括以下步骤S2031至S2032。

S2031、客户端在第三信息收集方式指示的第三时间段内,根据第三信息收集方式,选择与目标搜索内容相关的第三数据特征值。

其中,第三信息收集方式也可以被称为点击搜索策略,第三数据特征值包括用户针对目标搜索内容的点击时刻、点击次数。

在一些实施例中,第三数据特征值包括用户在历史时间内的搜索过程中,针对目标搜索内容的点击时刻、点击次数。例如,当用户在历史时间内的搜索过程,可以以用户ID作为Key,群组ID集合作为Value,当下次用户再次点击时,通过该Key就能以O(1)的时间复杂度获取到用户曾经点击过哪些群组,从而实现对该群组的线上排序提权。

在一些实施例中,考虑到可能存在多个群组点击次数相同的情况,因此可以将群组对应的点击时间纳入计算当中,可以利用公式(5),获取第三数据特征值:

其中,click_feature(groupId)

S2032、客户端根据第三数据特征值和第三信息收集方式对应的第三权重确定目标搜索内容的第三得分值。

其中,第三权重表示第三数据特征值在点击行为搜索策略的得分计算中的重要程度。

在一些实施例中,可以利用公式(6),确定目标搜索内容的第三得分值:

其中,search3_score表示目标搜索内容在第三信息收集方式下的得分值。ω

上述步骤S2031-S2032可知,本公开提供的技术方案至少可以带来以下有益效果:客户端根据第三收集方式,选择与目标搜索内容相关的第三数据特征值,第三数据特征值主要包括用户针对目标搜索内容的点击时刻、点击次数。再根据第三数据特征值和第三权重确定目标搜索内容的第三得分值,即确定目标搜索内容在点击搜索策略下的得分值(重要度),该方法计算简便,方便实施,通过将上述个性化的行为融入对目标搜索内容的加权或者降权处理中,可以有效提升不同用户对目标搜索内容的预期,从而更好地提升了搜索的精确性。并且可以应对网络较差的环境下,即弱网环境下,用户进行关键词搜索的场景。

在一些实施例中,如图18所示,在用户预设的信息获取范围为群聊范围的情况下,客户端根据第四信息收集方式,选择与目标搜索内容相关的第四数据特征值,并根据第四数据特征值确定第四得分值,可以包括步骤S2041至S2042。

S2041、客户端根据第四信息收集方式,选择与目标搜索内容相关的第四数据特征值。

其中,第四数据特征值包括目标搜索内容的名称与搜索关键词(群聊的名称)的匹配度、目标搜索内容中的群成员与搜索关键词(被搜索群聊的名称)的匹配度,用户与目标搜索内容中的群成员的关联度等。第四特征数据也可以包括目标搜索内容的名称与搜索关键词的匹配度、目标搜索内容的内容信息与搜索关键词的匹配度、用户与目标搜索内容的关联度。

第四信息收集方式也可以被称为关联搜索策略。

在一些实施例中,由于在一些协调办公软件中存在两种群聊搜索的方式,例如在Kim进行搜索时会出现两种群搜索的方式,分别对应图19中的(a)中的群名称搜索和以人搜群图19中的(b)。图19中的(a)输入的关键词为“应用”,因此得到的群聊名称含有关键词“应用”;图19中的(b)输入的关键词为“王李”,“王李”为人名称,因此得到的群聊主要针对包含“王李”为联系人的权利。

在一些实施例中,会出现关键词同时命中群名称搜索、以人搜群两种搜索模式,如图19中的(a)所示,当输入关键词“应用”进行搜索时,“应用用户反馈群”同时命中了群名称和群成员,这种情况下,整体权重会由两个部分组成,第一个部分是群名称的匹配,第二个部分是群内的成员的匹配。

当前现有策略上一般是简单地从命中个数的维度进行权重累计求和,而忽略了用户之间的相互关系。例如用户关系,即当前搜索人与“应用-小涛”之间的关系,假如“应用-小涛”与当前搜索人之间的是已经建立了关联关系,并且经常保持联系,那么应该对群名称得分和群成员的得分进行求和,但如果双方并没有建立关联关系,只计算群名称的得分作为权重应该更加合理。

在另一些实施例中,如图20所示,当输入关键词是多个时,当前分别匹配了“王李”和“孙亮”两个群成员,且“王李”和“孙亮”两个群成员与用户存在关系的情况下,常用群的子数据特征值包括“王李”和“孙亮”的数据特征值组成。

因此在一些实施例中,可以利用公式(7),获取第四数据特征值:

其中,match_feature(groupId)

公式(7)表示当匹配到的群成员属于搜索人的常用联系人列表中,即当前搜索人之间的关系密切,那么就将匹配到的群成员的得分也加到总的匹配得分中,否则只保留群名称的匹配得分。

S2042、客户端根据第四数据特征值和第四信息收集方式对应的第四权重确定目标搜索内容的第四得分值。

其中,第四权重表示第四数据特征值在关联搜索策略的得分计算中的重要程度。

在一些实施例中,可以利用公式(8),确定目标搜索内容的第四得分值:

其中,search4_score表示目标搜索内容在第四信息收集方式下的得分值。ω

上述步骤S2041-S2042可知,本公开提供的技术方案至少可以带来以下有益效果:在用户预设的信息获取范围为群聊范围的情况下,客户端根据第四收集方式,选择与目标搜索内容相关的第四数据特征值,第四数据特征值主要包括目标搜索内容的名称与搜索关键词的匹配度、用户与目标搜索内容中的群成员的关联度。再根据第四数据特征值和第四权重确定目标搜索内容的第四得分值,即确定目标搜索内容在关联搜索策略下的得分值(重要程度),该方法计算简便,方便实施,并且可以应对网络较差的环境下,即弱网环境下,用户进行关键词搜索的场景。

在一些实施例中,由于一些联系人或者群聊的特殊性,例如人数众多的群聊、入职快手的明星或名人作为的联系人。当用户进行关键词搜索时,针对相匹配的目标搜索内容为特殊的联系人或者群聊的情况,为了降低其影响,需要设置管控策略进行对其相应的管控。因此,如图21所示,因此客户端根据第五信息收集方式,选择与目标搜索内容相关的第五数据特征值,并根据第五数据特征值确定基于管控信息的第五得分值,可以包括步骤S2051至S2052。

S2051、在第五信息收集方式指示的第五时间段内,根据第五信息收集方式,选择与目标搜索内容相关的第五数据特征值。

第五信息收集方式也可以被称为管控搜索策略,第五数据特征值包括目标搜索内容在白名单内的其他用户和/或群聊情况下的加权值,和/或目标搜索内容在黑名单内的其他用户和/或群聊情况下的降权值。其中,目标搜索内容在白名单表示该目标搜索内容对用户的重要程度较高;目标搜索内容在黑名单表示该目标搜索内容对用户的重要程度不高。

在一些实施例中,与用户建立联系的联系人可能为特殊联系人(例如入职快手的明星或名人),或者用户所在的群聊中有特殊联系人,由于特殊联系人的一些原因(例如,明星的职业原因,需要注重隐私),因此需要将特殊联系人或者为特殊联系人所在群聊加入黑名单,进行降权。

在另一些实施例中,由于一些群聊中人数过多,特别是在节假日情况下,可能会过于活跃,一方面这样的群聊会建立与用户的较强的关联度,从而导致该群聊的搜索得分过高,但可能并不是用户所期待的搜索对象。另一方面过于活跃的群聊可能会造成热点效应,引起流量异常而导致服务器故障,因此需要通过针对这些群聊进行降权处理,来达到管控的目的。也可以在一段时间内(例如节假日)将该群聊加入黑名单进行降权,从而到达降低搜索得分的目标,或者直接将该群聊进行隐藏。

S2052根据第五数据特征值和第五信息收集方式对应的第五权重确定目标搜索内容的第五得分值。

其中,第五权重表示第五数据特征值在管控搜索策略的得分计算中的重要程度。

在一些实施例中,可以利用公式(10),确定目标搜索内容的第五得分值:

其中,search5_score表示目标搜索内容在第五信息收集方式下的得分值control_score(group)

将特殊联系人或者为特殊联系人所在群聊加入黑名单,进行降权,当用户进行关键词搜索时,相匹配的目标搜索内容为特殊联系人或者为特殊联系人所在群聊的情况下,该目标搜索内容在管控搜索策略下的得分值较低,从而到达降低搜索得分的目标,在一些情况下可以直接将该特殊联系人或者特殊联系人所在的群聊进行隐藏,在用户的客户端不会显示该目标搜索对象。

上述步骤S2051-S2052可知,本公开提供的技术方案至少可以带来以下有益效果:客户端根据第五收集方式,选择与目标搜索内容相关的第五数据特征值,第五数据特征值包括目标搜索内容在白名单内的其他用户(联系人)和/或群聊情况下的加权值,和/或目标搜索内容在黑名单内的其他用户和/或群聊情况下的降权值。再根据第五数据特征值和第五权重确定目标搜索内容的第五得分值,即确定目标搜索内容在管控搜索策略下的得分值(重要度),该方法计算简便,方便实施,并且可以应对网络较差的环境下,即弱网环境下,用户进行关键词搜索的场景。

搜索联系人或者搜索群聊中的会话点击、消息发送数量或者时间、会话停留时长等需要付出的较大代价获取的特征数据被移除/替代之后,可以将搜索功能分为根据关键词搜索联系人和根据关键词搜索群聊。

当前Kim办公应用搜索联系人为例,执行上述步骤S2011-S2012、步骤S2021-S2022、步骤S2031-S2032、步骤S205的本地化搜索,可以得到如图22所示的点击率指标结构,当前Kim搜索联系人的前三名对应的指标稳定在98%以上,最高达到了98.93%,而前十名对应的点击率指标稳定在99.5%以上,最高达到了99.8%,从而验证了线上策略的有效性。

以当前Kim办公应用搜索群聊为例,执行上述步骤S2011-S2012、步骤S2021-S2022、步骤S2031-S2032、步骤S2041-S2042、步骤S2051-S2052、步骤S206的本地化搜索,可以得到如图23所示的点击率指标结果,Kim群搜索的数据指标相对Kim搜人的数据指标稍低,主要原因在于群的数量更多,对于搜索的难度也更大。在工作中,每天为了讨论、拉齐各种业务需求,都会源源不断地创建新的群组进行有效的沟通。当前,Kim群搜索的线上流量主要包括两部分,一部分是Kim的技术团队负责,另一部分是IM中台的技术团队负责,流量分配比控制在7:3,从图23可以发现,当前线上Kim的Top3点击率指标相比IM中台更稳定,数据也更好,平均点击率控制在87%以上,最高能到达89.22%,相比IM中台有3%-5%的提升,进一步验证了上述策略的有效性,从而提升了用户体验。

图24示出了本公开实施例提供的一种搜索装置结构框图。如图24所示,该搜索装置包括确定单元301、选择单元302、显示单元303、发送单元304和接收单元305。

选择单元302,用于根据与目标搜索内容相关联的至少一个信息收集方式,选择目标搜索内容在信息收集方式下的数据特征值;信息收集方式基于时间、内容标识、用户行为、用户关系、管控策略中的至少一项确定;确定单元301,还用于根据信息收集方式下的数据特征值,确定目标搜索内容的得分值;显示单元303,用于根据至少一个目标搜索内容的得分值的排序,从高至低依次显示至少一个目标搜索内容。

可选的,确定单元301,用于根据第一信息收集方式,选择与目标搜索内容相关的第一数据特征值,并根据第一数据特征值确定第一得分值;第一信息收集方式基于收集第一数据特征值的第一时间段确定;根据第二信息收集方式,选择与目标搜索内容相关的第二数据特征值,并根据第二数据特征值确定第二得分值;第二信息收集方式基于收集第二数据特征值的第二时间段确定;第一时间段小于第二时间段;根据第三信息收集方式,选择与目标搜索内容相关的第三数据特征值,并根据第三数据特征值确定第三得分值;第三信息收集方式基于用户行为确定;根据第四信息收集方式,选择与目标搜索内容相关的第四数据特征值,并根据第四数据特征值确定第四得分值;第四信息收集方式基于用户关系确定;根据第五信息收集方式,选择与目标搜索内容相关的第五数据特征值,并根据第五数据特征值确定第五得分值;第五信息收集方式基于管控策略确定;根据第一得分值、第二得分值、第三得分值、第四得分值、第五得分值中的至少一项,确定目标搜索内容的得分值。

可选的,选择单元302,用于在用户预设的信息获取范围为群聊范围的情况下,在第一信息收集方式指示的第一时间段内,根据第一收集方式,选择与目标搜索内容相关的第一数据特征值;第一数据特征值包括用户与目标搜索内容的关联度、用户与目标搜索内容的联系时间、用户在目标搜索内容中的停留时间;确定单元301,还用于根据第一数据特征值和第一信息收集方式对应的第一权重确定目标搜索内容的第一得分值;第一权重表示目标搜索内容在第一信息收集方式下与关键词的匹配程度。

可选的,选择单元302,还用于在第二信息收集方式指示的第二时间段内,根据第二信息收集方式,选择与目标搜索内容相关的第二数据特征值;第二时间段大于第一时间段,第二数据特征值包括目标搜索内容的名称与搜索关键词的匹配度、目标搜索内容的内容信息与搜索关键词的匹配度、用户与目标搜索内容的关联度;确定单元301,还用于根据第二数据特征值和第二信息收集方式对应的第二权重确定目标搜索内容的第二得分值。

可选的,选择单元302,还用于在第三信息收集方式指示的第三时间段内,根据第三信息收集方式,选择与目标搜索内容相关的第三数据特征值;第三数据特征值包括用户针对目标搜索内容的点击时刻、点击次数;确定单元301,还用于根据第三数据特征值和第三信息收集方式对应的第三权重确定目标搜索内容的第三得分值。

可选的,选择单元302,还用于在用户预设的信息获取范围为群聊范围的情况下,根据第四信息收集方式,选择与目标搜索内容相关的第四数据特征值;第四数据特征值包括目标搜索内容的名称与搜索关键词的匹配度、用户与目标搜索内容中的群成员的关联度;确定单元301,还用于根据第四数据特征值和第四信息收集方式对应的第四权重确定目标搜索内容的第四得分值。

可选的,选择单元302,还用于在第五信息收集方式指示的第五时间段内,根据第五信息收集方式,选择与目标搜索内容相关的第五数据特征值;第五数据特征值包括目标搜索内容在白名单内的其他用户和/或群聊情况下的加权值,和/或目标搜索内容在黑名单内的其他用户和/或群聊情况下的降权值;目标搜索内容在白名单表示用户关注目标搜索内容;目标搜索内容在黑名单表示用户不关注目标搜索内容;确定单元301,还用于根据第五数据特征值和第五信息收集方式对应的第五权重确定目标搜索内容的第五得分值。

可选的,发送单元304,用于每隔预设时长,向服务器发送需要获取的目标应用中,与用户相关的用户信息的获取通知;接收单元305,用于接收服务器发送的与用户相关的用户信息;与用户相关的用户信息表示与用户相关的全部的用户信息,或者与用户相关的更新后的用户信息;用户信息包括用户本人以及与用户建立联系的其他用户的用户名称、用户归属信息、用户职位信息、用户联系人信息,以及与用户建立联系的群组的群组名称、群组归属信息、群组部门信息中的一项或多项。

另外,本公开实施例中还提供了一种包括计算机指令的计算机可读存储介质,当计算机可读存储介质中的指令由上述电子设备或者服务器的处理器执行时,使得电子设备或者服务器能够执行如上述实施例所提供的资源推荐方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

另外,本公开实施例中还提供一种计算机程序产品,包括计算机指令,当计算机指令在上述电子设备或者服务器上运行时,使得电子设备或者服务器执行如上述实施例所提供的资源推荐方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

相关技术
  • 一种题目搜索、批改方法、装置、电子设备和存储介质
  • 搜索结果的刷新方法、装置、存储介质及电子设备
  • 对象搜索方法、装置、电子设备及计算机可读存储介质
  • 相关搜索词的确定方法、装置、存储介质及电子设备
  • 目标搜索词生成方法及装置、电子设备、存储介质
  • 语音搜索方法、搜索装置、可读存储介质及电子设备
  • 文档搜索平台、搜索方法、装置、电子设备及存储介质
技术分类

06120116482973