基于应用程序的信息搜索方法及装置与流程

文档序号:14721018发布日期:2018-06-17 14:46阅读:192来源:国知局

本发明涉及通信技术,尤其涉及一种基于应用程序的信息搜索方法及装置。



背景技术:

随着移动通信的不断发展,使用即时通信(InstantMessaging,简称IM)产品的用户越来越多,且随着IM产品的使用广泛,每个用户IM软件中会添加大量的好友、应用推送等,因此IM产品为用户提供了搜索功能,以便于用户在IM软件使用过程中可以搜索一些信息。

现有技术中,IM软件为用户的提供的搜索功能一般都是在具体某个模块中,例如搜索聊天记录,或者搜索联系人。

但是,采用现有技术,用户需要在不同的模块分别进行搜索,导致搜索效率低下。



技术实现要素:

本发明提供一种基于应用程序的信息搜索方法及装置,用于解决现有应用程序中搜索效率低下的问题。

本发明第一方面提供一种基于应用程序的信息搜索方法,包括:

接收用户输入的搜索关键词;

根据所述搜索关键词在应用程序的全局数据源中匹配对应的数据,得到搜索结果,其中,所述全局数据源包括:所述应用程序中预设数个的独立数据源;

将所述搜索结果按不同的独立数据源进行分组显示;

其中,每个所述独立数据源包括预设数个不同属性类型的数据;相应地,所述搜索结果中的数据包括匹配到对应的属性类型。

本发明第二方面提供一种基于应用程序的信息搜索装置,包括:

接收模块,用于接收用户输入的搜索关键词;

搜索模块,用于根据所述搜索关键词在应用程序的全局数据源中匹配对应的数据,得到搜索结果,其中,所述全局数据源包括:所述应用程序中预设数个的独立数据源;

显示模块,用于将所述搜索结果按不同的独立数据源进行分组显示;

其中,每个所述独立数据源包括预设数个不同属性类型的数据;相应地,所述搜索结果中的数据包括匹配到对应的属性类型。

本发明提供的基于应用程序的信息搜索方法及装置中,接收用户输入的搜索关键词,根据上述搜索关键词在app的全局数据源中匹配对应的数据,得到搜索结果,并将上述搜索结果按不同的独立数据源进行分组显示,实现了用户需要在app中多个数据源进行搜索时,只需输入一次搜索关键词即可,提高了搜索效率,且每个上述独立数据源可以包括多个不同属性类型的数据,搜索结果中可以包括匹配到的数据对应的属性类型,这样可以将上述搜索结果按不同的独立数据源进行分组显示,这样用户可以直接根据显示的搜索结果快速确定每一项搜索结果的出处,更便于用户高效的获得自己需要的搜索结果,提升用户体验。

附图说明

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

图1为本发明提供的基于应用程序的信息搜索方法实施例一的流程示意图;

图2为本发明提供的基于应用程序的信息搜索方法实施例二的流程示意图;

图3为本发明提供的基于应用程序的信息搜索方法实施例三的流程示意图;

图4为本发明提供的基于应用程序的信息搜索方法中搜索结果显示示意图;

图5为本发明提供的基于应用程序的信息搜索装置实施例一的结构示意图;

图6为本发明提供的基于应用程序的信息搜索装置实施例二的结构示意图;

图7为本发明提供的基于应用程序的信息搜索装置实施例三的结构示意图;

图8为本发明提供的基于应用程序的信息搜索装置实施例四的结构示意图。

具体实施方式

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

本发明提供一种搜索方法,在应用程序中提供一种搜索模式,在这个搜索模式下可以搜索应用程序各个方面的数据,便于用户在某些情况下只需要在搜索模式下进行一次搜索就可以完成在应用程序全局范围内的搜索,无需在各个单独的数据源进行多次搜索。

图1为本发明提供的基于应用程序的信息搜索方法实施例一的流程示意图,该方法的执行主体是应用程序所安装的终端,例如手机、平板电脑、笔记本电脑等,如图1所示,该方法包括:

S101、接收用户输入的搜索关键词。

S102、根据上述搜索关键词在应用程序(application,简称app)的全局数据源中匹配对应的数据,得到搜索结果。

其中,该全局数据源包括app中预设个数的独立数据源。

具体实现时,可以是app提供一个全局搜索框,用户可以在该搜索框中输入想要搜索的关键词,进而终端在该app全局数据源中进行搜索,即匹配关键词所在的信息,并将这些信息数据作为搜索结果。

需要说明的是,上述全局数据源所包括的预设个数的独立数据源可以是app的所有数据源,也可以是指定的其中几个独立数据源。具体包括哪些独立数据源可以是预先配置好,也可以根据用户的设置灵活进行调整。例如,可以向用户提供选择界面,由用户勾选需要搜索的几个独立数据源。当然,并不以此为限。

具体搜索过程中,终端可以同时分别在这些独立数据源中进行搜索,进而分别获取每个独立数据源的搜索结果,也可以依次在这些独立数据源中进行搜索,获取最终的搜索结果。

S103、将上述搜索结果按不同的独立数据源进行分组显示。

可以在app的搜索界面上显示搜索结果,用户通过终端的显示屏查看搜索结果。

显示时,可以根据用户的预先设置,分页进行显示,每页显示预设数据条搜索结果,但并不以这种显示方式为限。

其中,每个上述独立数据源可以包括多个不同属性类型的数据。即每个独立数据源中的数据也可以根据属性进行分类,以联系人数据源为例,可以包括:用户账号、昵称、备注、真实姓名等多种属性。会话记录数据源中可以包括:私聊会话记录、群聊会话记录、会话对象、会话主题等多种属性。在此不作限制。

相应地,上述搜索结果中可以包括匹配到的数据对应的属性类型。例如,用户搜索“ab”,该在联系人数据源中“ab”是用户的昵称,那么返回搜索结果时,可以在这一条搜索结果中携带“昵称”这个属性类型的标识。

按不同的独立数据源进行分组显示时,可以在每个独立数据源的分组下进一步地按照不同的属性分组显示。

本实施例中,接收用户输入的搜索关键词,根据上述搜索关键词在app的全局数据源中匹配对应的数据,得到搜索结果,并将上述搜索结果按不同的独立数据源进行分组显示,实现了用户需要在app中多个数据源进行搜索时,只需输入一次搜索关键词即可,提高了搜索效率,且每个上述独立数据源可以包括多个不同属性类型的数据,搜索结果中可以包括匹配到的数据对应的属性类型,这样可以将上述搜索结果按不同的独立数据源进行分组显示,这样用户可以直接根据显示的搜索结果快速确定每一项搜索结果的出处,更便于用户高效的获得自己需要的搜索结果,提升用户体验。

图2为本发明提供的基于应用程序的信息搜索方法实施例二的流程示意图,在上述实施例的基础上,为了提高搜索效率,如果本次搜索的关键词与之前搜索过的关键词相同,可以直接使用之前的搜索结果,或者,如果本次搜索的关键词是之前搜索关键词的子集,那么可以在之前的搜索结果中进行搜索,以缩小搜索范围,如图2所示,该方法包括:

S201、接收用户输入的搜索关键词。

S202、判断上述搜索关键词是否与预设时间段内的在先搜索关键词相同,若相同,则执行S203,若否,则执行S204。

在先搜索关键词,即用户之前搜索过的关键词。

S203、将根据在先搜索关键词得到的搜索结果作为搜索关键词的搜索结果。进而可以执行S207。

预设时间段可以指某次用户开启搜索模式的这段时间,例如,用户要进行全局搜索,打开了全局搜索框,那么在打开全局搜索框的这段时间内,用户获取的搜索结果都会进行缓存,假设用户开启全局搜索框后,先搜索了“ab”,又搜索了其它内容,但是之后又搜索了“ab”,这时就可以直接返回之前搜索“ab”时的结果,无需再到数据源进行搜索。搜索框关闭后,即本次搜索结果,可以将缓存的搜索结果清空,下次搜索时再重新搜索,这样可以节约缓存空间,而且一段时间后app的数据源也会发生更新,重新搜索才能保证搜索结果的准确性。

需要说明的是,返回在先搜索关键词得到的搜索结果之前,要确保根据在先搜索关键词进行的搜索已经完成,如果没有完成,等完成之后在返回结果,以确保搜索结果的完整性。

S204、判断上述搜索关键词是否是上述预设时间段内在先搜索关键词的子集,若是,则执行S205。

若上述搜索关键词是上述预设时间段内在先搜索关键词的子集,那么根据搜索关键词搜索获取的结果一定在根据在先搜索关键词获取的搜索结果范围内。

S205、获取根据在先搜索关键词得到的搜索结果。

S206、采用上述搜索关键词在上述根据在先搜索关键词得到的搜索结果中匹配对应的数据,得到搜索结果。

例如,预设时间段内,用户之前搜索了“ab”,后来又搜索了“abc”,“abc”是“ab”的子集,那么就可以在之前搜索“ab”获取的搜索结果中进行一步搜索“abc”,以得到搜索结果,这样可以提高搜索效率,也可以减小终端的负荷。

同样需要说明的是,返回在先搜索关键词得到的搜索结果之前,要确保根据在先搜索关键词进行的搜索已经完成,如果没有完成,等完成之后在返回结果,以确保搜索结果的完整性。

S207、将上述搜索结果按不同的独立数据源进行分组显示。

若上述搜索关键词不是上述预设时间段内在先搜索关键词的子集,则在全局数据源中进行搜索。

可选地,上述app如果是IM类app,或者社交类app,上述app中多个独立数据源可以包括下述独立数据源中至少两个的任意组合:联系人数据源、会话记录数据源、社交消息数据源、收藏信息数据源、板块名称数据源等。但并不以此为限。

其中,联系人数据源中存储app中联系人的各种信息;会话记录数据源即用户使用该app与其它用户会话的聊天记录,其中包括文字、图片、表情等;社交消息数据源可以包括用户发布的朋友圈、空间等社交信息、以及转发、评论的信息等;收藏信息数据源包括用户收藏的各类图片、社交信息、公众信息等;板块名称数据源包括app中预设的、或者用户自行划分的各个板块的名称,例如联系人板块、社交群组板块、收藏板块、公众账号板块等。在此不对数据源作具体限制,根据app的具体情况以及app自身的模块划分来定。

进一步地,由于全局搜索面对的数据源中数据量庞大,且其中包含的内容形式多样,例如包括:文字、图片、语音等,这样在搜索中可能会带来不必要的误搜索。举例说明,某数据源中一条图文并存的消息存储为“<pic>image_md5_1</pic>消息内容文本<pic>image_md5_2</pic>”,其中“<pic>image_md5_1</pic>”和“<pic>image_md5_2</pic>”标识两个不同的图片,如果用户输入关键词“p”进行搜索,就可能会搜索到结果“<pic>image_md5_1</pic>”和“<pic>image_md5_2</pic>”。

较优地,将消息存储到独立数据源之前,先将消息按照不同的类型进行拆分,将消息中的图片、文字、语音等拆分出来后分别进行存储,后续进行搜索时,就在独立数据源中的文字部门进行搜索,避免了误搜索,也提高了搜索效率。

图3为本发明提供的基于应用程序的信息搜索方法实施例三的流程示意图,在全局数据源匹配到的搜索结果后,采用回调的方式返回搜索结果,具体地,如图3所示,根据上述搜索关键词在app的全局数据源中匹配对应的数据,得到搜索结果包括:

S301、判断匹配到的数据是否全部返回完成,若是,则结束,若否则执行S302。

S302、当前匹配到的数据条目的是否满足预设阈值,若是,执行S303、若否执行S304。

S303、返回预设阈值个数的所匹配的数据。

S304、继续在全局数据源中进行匹配,匹配到数据后返回执行S302。

S305、数据匹配完成后返回执行S301。

即可以预先设定单次返回搜索结果的数量,例如每搜索到10条结果就返回一次。当然,并不以此为限,也可以全部搜索完成后在一起返回结果。

在显示界面显示搜素结果时,可以根据用户的设定决定每页显示的条数,在此不作限定。

图4为本发明提供的基于应用程序的信息搜索方法中搜索结果显示示意图,以图4为例,假如某用户进行全局搜索“d”,将搜索结果按不同的独立数据源进行分组显示,具体地搜索到的结果可以以列表的形式显示,并且按照不同的独立数据源分组,但不以此为限,也可以以时间等其他属性进行分组。

图4中,先显示在联系人数据源中搜索到的内容,其中某个联系人:丁伟,“丁”的拼音中包含“d”;第二个联系人张三的昵称中包括“D”;进而显示会话记录数据源中搜索到的内容:王一发的会话记录中包括“确定”,其中“定”的拼音中包含“d”。

不以图4为限,可以根据具体情况具体实现。

进一步地,为了用户可以快速在搜索结果中找到自己所想要的搜索结果,上述将搜索结果按不同的独立数据源进行分组显示可以为:将上述搜索结果中的搜索关键词进行高亮处理,得到处理后的搜索结果,然后将处理后的搜索结果按不同的独立数据源进行分组显示。

以图4为例,其中丁伟的“丁”就可以高亮处理,例如进行标黄等,在此不作限制。

具体实现过程中,有时候搜索结果会很多,如果统一进行高亮处理,有可能会造成终端负荷过大而卡机,本实施例中,采用高亮关键词缓存的方式,具体地:上述将上述搜索结果中的搜索关键词进行高亮处理,得到处理后的搜索结果,可以为:在高亮关键词缓存中查询是否包含高亮处理后的搜索关键词,若包含,则将搜索结果中的搜索关键词替换为上述高亮处理后的搜索关键词,得到处理后的搜索结果。其中,高亮关键词缓存中用于缓存高亮处理过的关键词。

例如之前搜索“ab”,那么搜索结果中的“ab”都进行了高亮处理,后续如果又搜索“ab”,得到搜索结果后,先在高亮关键词缓存中查询,发现里面有高亮处理后的“ab”,可以直接调用,在搜索结果中使用。

如果高亮关键词缓存中不存在高亮处理后的上述搜索关键词,那么就按照之前的实施例,对搜索结果中的搜索关键词进行高亮处理,得到处理后的搜索结果。之后,还可以把高亮处理后的上述搜索关键词加入高亮关键词缓存中,以便后续使用。

当然,过一段时间后,高亮关键词缓存可能会占用较多的资源,那么可以周期性地对高亮关键词缓存进行清理,也可以设定高亮关键词缓存的上限,当高亮关键词缓存占用的空间达到上限时自动进行清理、或者提醒用户进行清理。

另一实施方式中,上述将搜索结果按不同的独立数据源进行分组显示可以为:将搜索结果中的搜索关键词进行字体处理,得到处理后的搜索结果;然后将处理后的搜索结果按不同的独立数据源进行分组显示。

这里的字体处理可以包括:改变字体颜色、加粗、变更为斜体、添加下划线等,在此不作限制。

还可以与前述实施例中的高亮处理类似,将字体处理后的搜索关键词存入字体缓存,以便于直接使用。在此不作限定。

图5为本发明提供的基于应用程序的信息搜索装置实施例一的结构示意图,如图5所示,该装置包括:接收模块501、搜索模块502和显示模块503,其中:

接收模块501,用于接收用户输入的搜索关键词。

搜索模块502,用于根据所述搜索关键词在应用程序的全局数据源中匹配对应的数据,得到搜索结果,其中,所述全局数据源包括:所述应用程序中预设数个的独立数据源。

显示模块503,用于将所述搜索结果按不同的独立数据源进行分组显示。

其中,每个所述独立数据源包括预设数个不同属性类型的数据;相应地,所述搜索结果中的数据包括匹配到对应的属性类型。

本实施例中,接收用户输入的搜索关键词,根据上述搜索关键词在app的全局数据源中匹配对应的数据,得到搜索结果,并将上述搜索结果按不同的独立数据源进行分组显示,实现了用户需要在app中多个数据源进行搜索时,只需输入一次搜索关键词即可,提高了搜索效率,且每个上述独立数据源可以包括多个不同属性类型的数据,搜索结果中可以包括匹配到的数据对应的属性类型,这样可以将上述搜索结果按不同的独立数据源进行分组显示,这样用户可以直接根据显示的搜索结果快速确定每一项搜索结果的出处,更便于用户高效的获得自己需要的搜索结果,提升用户体验。

图6为本发明提供的基于应用程序的信息搜索装置实施例二的结构示意图,如图6所示,在图5的基础上,该装置还可以包括:判断模块601,用于判断所述搜索关键词是否与预设时间段内的在先搜索关键词相同,若相同,则将根据所述在先搜索关键词得到的搜索结果作为所述搜索关键词的搜索结果;若所述搜索关键词与预设时间段内的在先搜索关键词均不同,则判断所述搜索关键词是否是所述预设时间段内的在先搜索关键词的子集。

搜索模块502,具体用于具体用于在所述搜索关键词是所述预设时间段内的在先搜索关键词的子集时,获取根据所述在先搜索关键词得到的搜索结果;采用所述搜索关键词在所述根据所述在先搜索关键词得到的搜索结果中匹配对应的数据,得到搜索结果。

图7为本发明提供的基于应用程序的信息搜索装置实施例三的结构示意图,如图7所示,在图5的基础上,上述显示模块503可以包括:第一处理单元701和第一显示单元702,其中:

第一处理单元701,用于将所述搜索结果中的所述搜索关键词进行高亮处理,得到处理后的搜索结果。

第一显示单元702,用于将所述处理后的搜索结果按不同的独立数据源进行分组显示。

可选地,第一处理单元701,具体用于在高亮关键词缓存中查询是否包括高亮处理后的所述搜索关键词;若所述高亮关键词缓存中包括高亮处理后的所述搜索关键词,则将所述搜索结果中的所述搜索关键词替换为所述高亮处理后的所述搜索关键词,得到处理后的搜索结果;或者,若所述高亮关键词缓存中不存在高亮处理后的所述搜索关键词,则将所述搜索关键词进行高亮处理,并将高亮处理后的所述搜索关键词加入所述高亮关键词缓存中。

图8为本发明提供的基于应用程序的信息搜索装置实施例四的结构示意图,如图8所示,在图5的基础上,上述显示模块503可以包括:第二处理单元801和第二显示单元802,其中:

第二处理单元801,用于将所述搜索结果中的所述搜索关键词进行字体处理,得到处理后的搜索结果。

第二显示单元802,用于将所述处理后的搜索结果按不同的独立数据源进行分组显示。

可选地,所述应用程序中多个独立数据源包括下述独立数据源中至少两个的任意组合:联系人数据源、会话记录数据源、社交消息数据源、收藏信息数据源、板块名称数据源。但并不以此为限。

该装置用于执行前述方法实施例,其实现原理和技术效果类似,在此不再赘述。

上述装置实质上可以是一种终端设备,例如手机、笔记本、平板电脑、计算机等,在此不作限制,该终端设备可具体包括:处理器、以及用于存储处理器可执行指令的存储器。该处理器具体可以被配置为执行前述方法实施例,其实现原理和技术效果类似。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-OnlyMemory,简称:ROM)、随机存取存储器(英文:RandomAccessMemory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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