基于与软件应用相关联的内容提高搜索结果相关性的制作方法

文档序号:14186882阅读:168来源:国知局

相关申请的交叉引用

本申请是2015年8月20日提交的美国专利申请号14/831,563的pct国际申请。该申请的全部公开内容通过引用并入本文。

本公开总体上涉及搜索领域,并且更具体地涉及用于生成与软件应用内的状态对应的搜索结果的技术。



背景技术:

近年来,计算机、智能电话和其他互联网连接的计算设备的使用显著增长。相应地,可用于这些计算设备的软件应用(app)的数量也在增长。今天,许多不同的应用能够在许多不同的计算设备上被访问,包括但不限于智能电话、个人电脑、汽车和电视机。这些应用能够包括商业驱动应用、游戏、教育应用、新闻应用、购物应用、消息应用、媒体流应用和社交网络应用。由于当今可用的应用数量众多,而且提供了广泛范围的功能,所以计算设备用户通常需要搜索和访问特定应用功能的能力。



技术实现要素:

在一个示例中,一种方法包括:从用户设备接收搜索查询;确定可由所述用户设备的用户访问的一个或更多个本地应用状态;基于所述搜索查询并且基于所述一个或更多个本地应用状态来识别一个或更多个应用状态记录。每个应用状态记录包括应用访问机制(aam)和应用状态信息(asi)。所述aam引用本地应用并且指示用于所述本地应用来执行的一个或更多个操作。所述asi描述了在所述本地应用已经执行了所述一个或更多个操作之后的所述本地应用的状态。在该示例中,基于所述一个或更多个应用状态来识别所述一个或更多个应用状态记录包括确定每个应用状态记录中包括的asi描述所述一个或更多个本地应用状态中的一个。所述方法还包括从所识别的一个或更多个应用状态记录中选择一个或更多个aam;以及将所选的一个或更多个aam发送给所述用户设备。

在另一示例中,一种方法包括:从用户设备接收搜索查询;基于所述搜索查询识别一个或更多个应用状态记录。每个应用状态记录包括应用访问机制(aam)和应用状态信息(asi)。所述aam引用本地应用并且指示所述本地应用要执行的一个或更多个操作。所述asi描述了在所述本地应用已经执行了所述一个或更多个操作之后的所述本地应用的状态。所述方法进一步包括:确定可由所述用户设备的用户访问的一个或更多个本地应用状态;基于在所述应用状态记录中包括的所述asi是否描述所述一个或更多个本地应用状态中的一个,为每个所识别的一个或更多个应用状态记录生成结果分数;基于所述一个或更多个结果分数对所识别的一个或更多个应用状态记录进行排序;从经排序的一个或更多个应用状态记录中选择一个或更多个应用状态记录。所述方法还包括:从所选的一个或更多个应用状态记录中选择一个或更多个aam;以及将所选的一个或更多个aam发送给所述用户设备。

在另一示例中,一种方法包括:使用用户设备将搜索查询发送到搜索系统,所述搜索系统被配置为响应于所接收到的搜索查询来生成搜索结果;并且响应于发送所述搜索查询在所述用户设备处从所述搜索系统接收搜索结果。在该示例中,所述搜索结果包括一个或更多个应用访问机制(aam),每个aam引用本地应用并指示所述本地应用要执行的一个或更多个操作。还在该示例中,执行所述一个或更多个操作的本地应用将本地应用设置为所述本地应用的一个状态。所述方法进一步包括:使用所述用户设备,识别可由所述用户设备的所述用户访问的一个或更多个本地应用状态。所述方法还包括:使用所述用户设备,为所述一个或更多个aam中的每个,确定由所述aam引用的执行由所述aam指示的一个或更多个操作的所述本地应用是否将所述本地应用设置为所述一个或更多个本地应用状态中的某一个;以及基于所述确定在所述用户设备处显示所述一个或更多个aam。

在另一个示例中,一种包括一个或更多个计算设备的系统,所述系统被配置为:从用户设备接收搜索查询;确定可由所述用户设备的用户访问的一个或更多个本地应用状态;基于所述搜索查询并且基于所述一个或更多个本地应用状态来识别一个或更多个应用状态记录。每个应用状态记录包括应用访问机制(aam)和应用状态信息(asi)。所述aam引用本地应用并且指示所述本地应用要执行的一个或更多个操作。所述asi描述了在所述本地应用已经执行了所述一个或更多个操作之后的所述本地应用的状态。在该示例中,为了基于所述一个或更多个本地应用状态识别所述一个或更多个应用状态记录,所述一个或更多个计算设备被配置为确定包括每个应用状态记录中包括的所述asi描述所述一个或更多个本地应用状态中的一个。所述一个或更多个计算设备还被配置为从所识别的一个或更多个应用状态记录中选择一个或更多个aam;以及将所选的一个或更多个aam发送给所述用户设备。

在另一个示例中,一种包括一个或更多个计算设备的系统,所述系统被配置为:从用户设备接收搜索查询;以及基于所述搜索查询识别一个或更多个应用状态记录。每个应用状态记录包括应用访问机制(aam)和应用状态信息(asi)。所述aam引用本地应用并指示所述本地应用要执行的一个或更多个操作。所述asi描述了在所述本地应用已经执行了所述一个或更多个操作之后的所述本地应用的状态。所述一个或更多个计算设备进一步被配置为:确定可由所述用户设备的用户访问的一个或更多个本地应用状态;基于所述应用状态记录中包括的所述asi是否描述了所述一个或更多个本地应用状态中的一个来为所识别的一个或更多个应用状态记录中的每个生成结果分数;基于所述一个或更多个结果分数对所识别的一个或更多个应用状态记录进行排序;以及从经排序的一个或更多个应用状态记录中选择一个或更多个应用状态记录。所述一个或更多个计算设备还被配置为:从所选的一个或更多个应用状态记录中选择一个或更多个aam;以及将所选的一个或更多个aam发送到所述用户设备。

在另一个示例中,一种包括一个或更多个计算设备的系统,所述系统被配置为:使用用户设备将搜索查询发送到搜索系统,所述搜索系统被配置为响应于接收到的搜索查询来生成搜索结果;以及响应于发送所述搜索查询在所述用户设备处从所述搜索系统接收搜索结果。在该示例中,所述搜索结果包括一个或更多个应用访问机制(aam),每个aam引用本地应用并指示所述本地应用要执行的一个或更多个操作。还在该示例中,执行所述一个或更多个操作的本地应用将本地应用设置为所述本地应用的一个状态。所述一个或更多个计算设备进一步被配置为:使用所述用户设备,识别可由所述用户设备的所述用户访问的一个或更多个本地应用状态。所述一个或更多个计算设备还被配置为:使用所述用户设备,为所述一个或更多个aam中的每个,确定由所述aam引用的执行由所述aam指示的所述一个或更多个操作的所述本地应用是否将所述本地应用设置为所述一个或更多个本地应用状态中的某一个;以及基于所述确定在所述用户设备处显示所述一个或更多个aam。

在另一个示例中,一种非暂态计算机可读存储介质,包括指令,所述指令:使得一个或更多个计算设备从用户设备接收搜索查询的指令;确定可由所述用户设备的用户访问的一个或更多个本地应用状态;以及基于所述搜索查询并且基于所述一个或更多个本地应用状态来识别一个或更多个应用状态记录。每个应用状态记录包括应用访问机制(aam)和应用状态信息(asi)。所述aam引用本地应用并且指示所述本地应用要执行的一个或更多个操作。所述asi描述了在所述本地应用已经执行了所述一个或更多个操作之后的所述本地应用的状态。在该示例中,使得所述一个或更多个计算设备基于所述一个或更多个应用状态来识别所述一个或更多个应用状态记录的所述指令包括使得所述一个或更多个计算设备确定包括每个应用状态记录中包括的asi描述了所述一个或更多个本地应用状态中的一个的指令。所述指令还使得所述一个或更多个计算设备从所识别的一个或更多个应用状态记录中选择一个或更多个aam;以及将所选的一个或更多个aam发送给所述用户设备。

在另一个示例中,一种非暂态计算机可读存储介质,包括指令,所述指令使得一个或更多个计算设备从用户设备接收搜索查询;以及基于所述搜索查询识别一个或更多个应用状态记录。每个应用状态记录包括应用访问机制(aam)和应用状态信息(asi)。所述aam引用本地应用并且指示所述本地应用要执行的一个或更多个操作。所述asi描述了在所述本地应用已经执行了所述一个或更多个操作之后的所述本地应用的状态。所述指令进一步包括使得所述一个或更多个计算设备确定可由所述用户设备的用户访问的一个或更多个本地应用状态;基于在所述应用状态记录中包括的所述asi是否描述了所述一个或更多个本地应用状态中的一个,为每个所识别的一个或更多个应用状态记录生成结果分数;基于所述一个或更多个结果分数对所识别的一个或更多个应用状态记录进行排序;以及从经排序的一个或更多个应用状态记录中选择一个或更多个应用状态记录。所述指令还使得所述一个或更多个计算设备从所选的一个或更多个应用状态记录中选择一个或更多个aam;以及将所选的一个或更多个aam发送到所述用户设备。

在另一示例中,一种非暂态计算机可读存储介质,包括指令,所述指令使得一个或更多个计算设备使用用户设备将搜索查询发送到搜索系统,所述搜索系统被配置为响应于接收到的搜索查询来生成搜索结果;以及响应于发送所述搜索查询在所述用户设备处从所述搜索系统接收搜索结果。在该示例中,所述搜索结果包括一个或更多个应用访问机制(aam),每个aam引用本地应用并指示所述本地应用要执行的一个或更多个操作。还在该示例中,执行所述一个或更多个操作的本地应用将本地应用设置为所述本地应用的一个状态。所述指令进一步使得所述一个或更多个计算设备使用所述用户设备,识别可由所述用户设备的所述用户访问的一个或更多个本地应用状态。所述指令还使得所述一个或更多个计算设备使用所述用户设备为所述一个或更多个aam中的每个,确定由所述aam引用的执行由所述aam指示的所述一个或更多个操作的所述本地应用是否将所述本地应用设置为所述一个或更多个本地应用状态中的某一个;以及基于所述确定在所述用户设备处显示所述一个或更多个aam。

附图说明

结合附图和下面的描述,阐述了一个或更多个示例的细节。从说明书和附图以及权利要求中,其他特征、目的和优点将是显而易见的。

图1例示了包括经由网络通信的搜索系统、内容确定系统、一个或更多个用户设备、一个或更多个数据源以及一个或更多个应用程序接口(api)的示例环境。

图2例示了与搜索系统和内容确定系统通信的用户设备的示例。

图3a是示例性搜索系统的功能框图。

图3b是示例性搜索模块的功能框图。

图4例示了与搜索系统和内容确定系统通信的用户设备的另一示例。

图5a和图5b例示了示例应用状态记录。

图6a和图6b例示了用于存储内容信息的示例数据结构。

图7a至图8c描绘了根据本公开的可以在用户设备上生成的示例图形用户界面(gui)。

图9a和图9b是例示了在搜索系统上基于搜索查询和内容信息生成搜索结果的示例方法的流程图。

图10a和图10b是例示了在用户设备上基于搜索查询和内容信息生成搜索结果的示例方法的流程图。

具体实施方式

附图和下面描述仅通过示例的方式涉及示例实现。应该注意的是,从下面的讨论中,在不脱离本公开的范围的情况下,本文公开的结构和方法的替代实施方式可以容易地认为是可实施的替代方案。

本公开总体上涉及搜索领域,并且更具体地涉及用于基于与设备的用户相关联的软件应用(app)的内容(例如,媒体)在计算设备处生成并显示搜索结果的技术。在一些示例中,使用本文描述的技术可以改进搜索结果相关性并增强用户体验。根据所公开的技术,用户设备的用户可以访问一个或更多个本地应用(例如,安装或未安装在用户设备上的任何本地应用)的一个或更多个应用状态。在这个示例中,每个应用状态可以对应于用于任何类型的媒体(例如,歌曲、播客、或其他音频,电影、电视节目集或其他视频,照片、图片或另一图像)或文档(例如杂志文章、电子书或其他文本,其也可包括图像数据)的本地应用中的一个的入口(entry)。例如,作为用户执行以下任意组合的结果,应用状态可由用户在本地应用中访问。作为一个示例,用户可以借助于使用(例如,启动)应用(例如,在没有首先为每个应用创建或者注册用户账户的情况下)来访问一个或更多个本地应用中的一个或更多个应用状态中的每个。作为另一个示例,用户可以已经为一个或更多个本地应用中的每个创建了(例如,注册了)用户账户(例如,免费或收费的),从而获得对应用中的一个或更多个应用状态的访问。作为又一示例,用户可以已经获得(例如,购买或免费接收)对本地应用中的相应一个或更多个应用状态中的每个的访问(例如,通过首先为应用创建免费或付费用户帐户,或在不使用与应用相关联的用户帐户的情况下)。

符合本文描述的技术,用户可以将搜索查询(例如,文本串)输入到在用户设备上执行的搜索应用的搜索字段中。然后用户可以使得用户设备(例如,搜索应用)将搜索查询发送到搜索系统。搜索系统可以从用户设备接收搜索查询。在一些示例中,搜索系统还确定用户使用各种技术中的任一种可访问的本地应用状态。作为一个示例,搜索系统可以从用户设备(例如,与搜索查询一起或单独地)接收对本地应用状态的指示。作为另一个示例,搜索系统可以从数据存储器(例如,内容注册表)检索本地应用状态的指示。作为又一个示例,搜索系统可以通过使用从用户设备102或另一位置接收的信息(例如,应用的指示和相关联的用户登录凭证)与其他资源(例如,与相应的本地应用相关联的应用程序接口(api))交互来确定本地应用状态。

在这些示例中,在从用户设备接收到搜索查询并且确定用户可访问的本地应用状态时,搜索系统可以基于搜索查询生成一个或更多个搜索结果,每个搜索结果指定本地应用的应用状态。然后搜索系统可以基于所确定的本地应用状态来过滤搜索结果。特别地,搜索系统可以生成搜索结果,使得每个结果既响应于搜索查询(例如,提供由其描述的功能),又指定用户可访问的本地应用状态中的一个。替代地,搜索系统可以基于本地应用状态对搜索结果进行排名(例如,排序)。具体而言,搜索系统可以基于结果是否指定了本地应用状态中的一个来对每个搜索结果进行排名。

然后搜索系统可以将过滤的或排名的搜索结果发送给生成搜索查询的用户设备。用户设备可以从搜索系统接收搜索结果并将结果显示给用户(例如,作为一个或更多个用户可选链接)。在一些示例中,搜索系统还将与一个或更多个搜索结果相关联的可访问性数据(例如,与结果一起)发送给用户设备。用户设备可以使用可访问性数据作为显示搜索结果的一部分以向用户指示(例如,经由文本和/或图像数据)用户是否可以访问相应的一个或更多个应用状态。

在其他示例中,搜索系统可以按照与上述类似的方式从用户设备接收搜索查询并且生成响应于搜索查询的搜索结果。搜索系统然后可以将搜索结果发送到用户设备。用户设备可以从搜索系统接收搜索结果。在这些示例中,用户设备可以进一步确定用户(例如,使用内部和/或外部资源)可访问的本地应用状态。用户设备然后可以基于所确定的本地应用状态将搜索结果显示给用户(例如,作为一个或更多个用户可选链接)。作为一个示例,用户设备可以以上述参考搜索系统的类似方式基于本地应用状态来过滤搜索结果(例如,仅显示那些指定任何本地应用状态的结果)。作为另一个示例,还如之前参考搜索系统所描述的,用户设备可以基于本地应用状态对搜索结果进行排名(例如,基于结果是否指定本地应用状态中的某一个来对每个结果进行排序)。在一些示例中,用户设备显示过滤的或排名的搜索结果,使得一个或更多个结果中的每个向用户指示(例如,经由文本和/或图像数据)用户是否能够访问对应的应用状态。

在以上提供的示例中,用户可以在用户设备上选择一个或更多个过滤的或排名的搜索结果(例如,一个或更多个相关联的用户可选链接)。在用户选择了搜索结果(例如,相关联的用户可选链接)时,用户设备可以启动对应的本地应用并将该应用设置为由所选的结果(例如,通过所选的用户可选链接)指定的应用状态。然后用户可以与用户设备上的应用状态交互(例如,预览和/或执行由应用状态提供的功能)。在另外的示例中,在用户选择了搜索结果时,用户设备可以下载并安装本地应用。在安装本地应用之后,用户设备可以以与上述类似方式启动应用并将应用设置为由所选的结果指定的应用状态。在进一步的示例中,在用户选择搜索结果时,用户设备可以启动网络(web)浏览器应用并访问基于网络的应用的应用状态。在这个示例中,基于网络的应用状态可以与上述本地应用的应用状态等同(例如,类似)。

以这种方式,本文描述的技术可以改进搜索结果相关性并增强用户体验。作为一个示例,通过使用搜索查询和确定用户可访问的本地应用状态两者来生成搜索结果,该技术可以改进搜索结果相关性。具体而言,通过仅识别匹配搜索查询并且用户可访问的本地应用的应用状态搜索结果可以比单独使用搜索查询生成的搜索结果与用户更相关。另外,通过使用搜索查询对识别的本地应用的应用状态进行排名,使得用户可访问的应用状态的排名高于其他应用状态,搜索结果中的与用户更相关的那些可以比其他搜索结果更早显示。作为另一个示例,通过将搜索结果限制到指定用户可访问的应用状态的搜索结果,或者通过基于用户是否能够访问对应的应用状态来对结果进行排名,结果可以使能用户更容易访问结果所提供的功能,从而提高用户的体验。

图1是例示了包括经由网络106通信的搜索系统100、内容确定系统108、一个或更多个用户设备102、一个或更多个数据源104以及一个或更多个api(例如,服务器)120(例如,api120-1...120-n)的示例环境的功能框图。上述系统、设备和api通过其通信的网络106可以包括任何类型的网络,诸如局域网(lan)、广域网(wan)和/或因特网。如图1所示,搜索系统100包括搜索模块110、搜索结果生成模块114和搜索数据存储器112,这些将在下面更详细地描述。如进一步所图示的,内容确定系统108包括内容确定模块116和内容数据存储器118,这些也在下面更详细地描述。在一些示例中,内容确定系统108是搜索系统100的一部分、用户设备102中的某一个的一部分、另一系统或设备的一部分或者独立系统或设备。还如图所示的,每个api120包括api数据存储器122(例如,一个或更多个api数据存储器122-1...122-n中的一个),这些也在下面更详细地描述。

在如图1所示示例中,搜索系统100从用户设备102中的一个接收搜索查询(例如,文本串)。如本文所述的,用户设备102的用户可以将搜索查询输入到用户设备102中。在一些示例中,搜索系统100(例如,内容确定系统108)进一步确定每个都可由用户访问的一个或更多个本地应用状态。如本文所描述的,每个本地应用状态可以对应于用于任何类型的媒体(例如,歌曲、播客、或其他音频,电影、电视节目集或其他视频,照片、图片或另一图像)或文档(例如杂志文章、电子书或其他文本,其也可包括图像数据)的任意本地应用(例如,安装或未安装在用户设备102上的本地应用)中的入口。也如本文所述,通过用户使用应用中的某一个(例如,在无需首先为每个应用创建用户账户的情况下)、创建用于应用的用户账户(例如,免费或收费)和/或获得对应用内的状态的访问(例如,在为每个应用创建免费或付费用户账户之后),本地应用状态是用户在本地应用中可访问的。

在一些示例中,通过从用户设备102接收状态的指示(例如,直接地或经由另一系统或设备)和/或通过从数据存储器(例如,内容注册表)检索指示,搜索系统100确定用户可访问的本地应用状态。本文中所指的指示可以被称为内容信息。另外或可替代地,搜索系统100(例如,内容确定系统108)可以通过查询与对应的本地应用相关联的一个或更多个api(例如,一个或更多个api120)来确定本地应用状态(例如,使用相关联的用户登录凭证,诸如用户名和密码)。在该示例中,与本地应用相关联的api可以指包括由该应用使用的数据(例如,在该api的api数据存储器内)的一个或更多个(例如,远程)服务器。例如,搜索系统100可以查询api以访问本地应用状态和/或验证用户可以访问本地应用中的状态。在一些示例中,搜索系统100通过从用户设备102和/或另一位置检索信息来确定与本地应用相关联的api以及例如对应的用户登录凭证。该信息可以指示与用户已经获得用户账户(例如,具有用户登录凭证)和/或不需要用户账户的本地应用相关联的api。在任何情况下,响应于查询api,搜索系统100可以确定用户可访问的本地应用状态。所确定的本地应用状态在本文中也可以被称为内容信息。

搜索系统100然后基于搜索查询以及例如基于内容信息来生成一个或更多个搜索结果。具体而言,搜索系统100使用存储在搜索数据存储器112中的一个或更多个应用状态记录中包括的信息来生成搜索结果。如本文所描述的,每个应用状态记录可以指定本地应用的应用状态。应用状态记录中包括的信息可以包括使能用户设备102访问由记录指定的应用状态的一个或更多个应用访问机制(aam)。如本文所述的,搜索系统100将应用状态记录中包括的aam作为搜索结果发送到用户设备102。如也在本文中所述的,该信息还可以包括与应用状态记录相关联的应用状态信息(asi)(例如,文本)和其他数据(例如,应用状态标识符(id)),搜索系统100可以使用其来识别搜索数据存储器112中的记录。如下面更详细解释的,为了生成搜索结果,搜索系统100可以基于搜索查询来识别包括在搜索数据存储器112中的一个或更多个应用状态记录。在一些示例中,搜索系统100基于内容信息进一步过滤识别的应用状态记录。如本文所述的,在具体示例中,搜索系统100可以仅选择所识别的应用状态记录中的指定了用户可访问的任意本地应用状态的那些应用状态记录。可选地,在其他示例中,搜索系统100可以基于内容信息对所识别的应用状态记录进行排名。也如本文所述的,例如,搜索系统100可以基于记录是否指定了用户可访问的任意本地应用状态来为每个所识别的应用状态记录生成结果分数(例如,0和1之间的值)。

然后,搜索系统100将包括从所识别的应用状态记录中选择的一个或更多个aam(以及例如对应的一个或更多个结果分数)的(例如,过滤的或排名的)搜索结果发送到生成搜索查询的用户设备102。用户设备102从搜索系统100接收包括aam的搜索结果,并将结果作为包括aam的一个或更多个用户可选链接显示给用户。在没有如先前描述的基于内容信息先对搜索结果进行过滤或排名的实现中,用户设备102可以按照与上述类似的方式使用内容信息对结果(例如,用户可选链接)进行过滤或排名。在这些示例中,用户设备102(例如,内容确定系统108)可以如上所述通过对结果(例如,用户可选链接)进行过滤或排名来确定内容信息并基于该信息显示搜索结果。

在一些示例中,搜索系统100将包括aam的搜索结果连同另外的数据一起发送到用户设备102。例如,搜索系统100可以发送链接数据(例如,文本和/或图像),其中用户设备102可以使用该链接数据来为包括在搜索结果中的aam生成用户可选链接。每个用户可选链接可以包括用户可以选择的文本和/或图像(例如,触摸或“点击”)。每个用户可选链接还可以与一个或更多个aam相关联,使得当用户选择链接时,用户设备102启动由aam引用的本地应用并且使应用执行由amm所指示的一个或更多个操作。用户可选链接的文本和/或图像可以指示本地应用响应于选择的链接来执行的操作或功能。换句话说,文本和/或图像可以指示在执行操作或功能时本地应用被设置的应用状态。例如,如果用户可选链接是用于本地音乐播放器应用中的歌曲,则文本和/或图像可以指示用户设备102可以启动应用,并且该应用可以在用户选择链接时播放该歌曲。用户可选链接的示例在7b和图8b中被示出。

在其他示例中,搜索系统100还可以将与一个或更多个搜索结果相关联的可访问性(例如,文本和/或图像)数据传输到用户设备102。用户设备102可以使用可访问性数据生成用于显示搜索结果的一个或更多个用户可选链接。例如,给定的用户可选链接中包括的可访问性数据可以向用户指示由链接指定(例如,由对应的搜索结果指定)的应用状态是否是用户可访问的。在其他示例中,用户设备102可以指定(例如,通过与一个或更多个其他资源交互)本地生成可访问性数据。包括可访问性数据的用户可选链接的示例在图7b和图8b中例示。

在本公开中,应用可以指使计算设备(例如,用户设备102中的一个)执行任务的计算机软件。在一些示例中,应用被称为“程序”。示例应用包括文字处理应用、电子表格应用、消息应用、媒体流应用、社交网络应用和游戏。应用能够在各种不同的计算设备上被执行,包括诸如智能电话、平板电脑和可佩戴计算设备(例如,耳机和/或智能手表)的移动计算设备。应用还能够在具有其他形式因素的其他类型的计算设备上被执行,例如膝上型计算机、台式计算机或其他消费电子设备。在一些示例中,在用户购买设备之前,将应用安装在计算设备上。在其他示例中,用户可以在购买设备之后在计算设备上下载并安装应用。本文使用的本地应用可以指的是在用户设备102上安装和执行的应用。与之相比,基于网络(web)的应用可以指的是可以经由在用户设备102上包括的网络浏览器应用从用户设备102可访问的应用。

本文使用的aam可以是引用本地应用的一个或更多个字符的串,并且指示用户设备102(例如,应用)要执行的一个或更多个操作。如果用户设备102的用户选择了包括aam的用户可选链接,则用户设备102可以启动由aam引用的本地应用并且(例如,使应用)执行由aam指示的操作。换句话说,选择用户可选链接的用户可以使得用户设备102启动本地应用并将该应用设置为与操作对应的应用状态(例如,在其中应用显示gui或屏幕)。因此,本地应用可以被配置为例如经由用户设备102的显示设备向用户显示一个或更多个产品、服务或供应商。以这种方式,aam可以指定本地应用的应用状态。与之相比,应用状态可以指响应于用户在用户设备102上选择包括aam的用户可选链接而由aam指示的操作和/或执行操作的本地应用的结果。

本文也使用的本地应用的应用状态可以指应用内的一个或更多个图形用户界面(gui)或所谓的“屏幕”。通常,本公开的应用状态可以指其中应用向用户显示内容的本地应用的配置,诸如与由该应用提供或经由该应用可访问的一个或更多个产品、服务或供应商有关的信息应用程序。应用状态也可以指由本地应用提供的功能。例如,本地在线购物应用的应用状态可以对应于描述(例如,使用文本和/或图像数据)通过应用(例如,由与应用相关联的一个或更多个供应商)销售的特定产品或服务的应用的屏幕。

如本文所述的,搜索系统100基于从用户设备102接收的搜索查询以及例如基于由搜索系统100确定的内容信息使用搜索数据存储器112中包括的数据来生成搜索结果。搜索数据存储器112可以包括可以用来实现本公开的技术的一个或更多个数据库、索引(例如,倒排索引)、表格、文件或其他数据结构。在一些示例中,搜索数据存储器112被包括在一个或更多个存储设备中。搜索数据存储器112包括一个或更多个应用状态记录。每个应用状态记录可以包括与本地应用的功能有关的数据和/或从应用执行功能得到的应用的应用状态。例如,每个应用状态记录可以包括其他内容中的应用状态id、asi以及一个或更多个aam等。应用状态记录的应用状态id可以唯一地标识搜索数据存储器112中包括的其他应用状态记录中的记录。应用状态记录的asi可以描述应用根据记录中包括的一个或更多个aam被设置成的应用状态。应用状态记录的aam可以包括使得用户设备102启动本地应用并且执行与该应用相关联的功能的数据(例如,文本/数字字符串)。示例应用状态记录在图5a和图5b中被示出。

如本文所述,搜索系统100从用户设备102接收搜索查询,并且基于搜索查询以及例如基于内容信息来生成搜索结果。搜索查询可以包括用户输入到用户设备102中的文本、数字和/或符号(例如,标点符号)。例如,用户可以已经将搜索查询输入到被包括在用户设备102上的搜索应用的搜索字段或“框”中。用户可以已经使用触摸屏键盘、机械键盘和/或通过语音识别技术来输入搜索查询,并已经使用搜索应用将搜索查询发送给搜索系统100。如本文所述的,在一些示例中,用户设备102(例如,搜索应用)还确定内容信息并将该信息发送到搜索系统100。例如,用户设备102(例如,搜索应用)可以将内容信息连同搜索查询(例如,作为查询包装器的一部分)一起发送到搜索系统100。在一些示例中,搜索应用是专用于搜索的本地应用或更普通的应用,诸如网络浏览器应用。也如本文所述的,在其他示例中,搜索系统100可以确定内容信息(例如,使用从用户设备102接收的数据和/或独立于用户设备102的数据)。内容信息可以包括用于表示用户可访问的本地应用状态的任何文本、数字和/或符号(例如,标点符号)以及任何机器可读(例如,二进制)数据。

在一些示例中,用户设备102将另外的数据连同搜索查询以及例如内容信息一起发送到搜索系统100。搜索查询和任何另外的数据在本文可以被称为查询包装器。另外的数据可以包括与用户设备102相关联的地理位置数据、用户设备102的平台数据(例如,用户设备102的类型和/或版本、操作系统(os)和/或用户设备102的网络浏览器应用)、用户的身份(例如,用户名)、合作伙伴专用数据和/或其他数据。用户设备102可以将查询包装器发送到搜索系统100。搜索系统100可以接收查询包装器并且使用搜索查询和例如另外的数据来以本文描述的方式生成搜索结果。

用户设备102可以是能够向搜索系统100(以及例如,内容确定系统108)提供搜索查询和例如内容信息并从搜索系统100接收搜索结果的任何计算设备。用户设备102可以包括智能电话以及平板电脑、膝上型电脑或台式电脑中的任意一个。用户设备102还可以包括具有其他形式因素的任何计算设备,例如包括在车辆、游戏设备、电视机或其他家电(例如,联网的家庭自动化设备和家用电器)中的计算设备。用户设备102可以使用各种不同的操作系统或平台(例如,图2中所示的os124)。在用户设备102是移动设备的示例中,用户设备102可以使用os(例如,谷歌公司的苹果公司的或者微软公司的windows)来操作。在用户设备102是膝上型或台式计算设备的示例中,用户设备102可以使用os,诸如由微软公司提供的microsoft由苹果公司提供的mac或者(是linustorvalds在美国和其他国家的注册商标)。用户设备102可以与使用除了本文描述的之外的操作系统(无论目前可用还是将来开发的)的系统100、108中的任意系统进行交互。

用户设备102可以经由网络106与搜索系统100(以及例如,内容确定系统108)进行通信。通常,用户设备102可以使用能够将搜索查询和例如内容信息发送到系统100、108中的一个或更多个并能够从搜索系统100接收搜索结果的任何应用来与系统100、180中的任意系统进行通信。在一些示例中,用户设备102包括专用于与系统100、108中的一个或更多个进行交互的应用,诸如专用于搜索的应用(例如,搜索应用)。在其他示例中,用户设备102可以使用更普通的应用(诸如网络浏览器应用)来与系统100、108中的任意系统进行通信。在任何情况下,用户设备102上包括的以与系统100、108中的一个或更多个进行通信的应用可以包括具有用户可以输入搜索查询的搜索字段或框的gui。例如,用户可以使用触摸屏、物理键盘、语音转换文本程序或用户设备102上可用的其他形式的用户输入来输入搜索查询。该应用可以被配置为将搜索查询发送到搜索系统100(例如,响应于用户输入)。如本文所述的,应用还可以被配置为确定(例如,经由内容标识(id)模块)用户可访问的本地应用状态。也如本文所述的,该应用还可以被配置为将这个内容信息的指示发送到系统100、108中的一个或更多个(例如,在使用或不使用搜索查询的情况下)。

在一些示例中,用户设备102使用相同(例如,专用或更普通的)应用来将从搜索系统100接收到的搜索结果显示给用户。例如,如本文所述的,用户设备102可以经由用于接收来自用户的搜索查询的gui来显示搜索结果,并将搜索查询发送到系统100、108中的一个或更多个。gui可以以各种不同的方式向用户显示搜索结果,这取决于由搜索系统100向用户设备102发送的作为搜索结果的一部分的信息。如前所述,搜索结果可以包括一个或更多个aam以及用于为aam生成用户可选链接的结果分数、链接数据和/或其他信息(例如,可访问性数据)。gui可以将搜索结果作为用户可选链接的列表(包括文本和/或图像)来显示给用户。例如,文本和/或图像可以包括由aam引用的本地应用的名称、aam和/或其中指示的操作的描述(例如,由aam指定的应用状态的描述)以及与应用相关联的图像或由aam指定的应用状态(例如,应用或应用状态、图标或“屏幕”)。另外,如本文所述,对于用户可选链接中的一些或全部,文本和/或图像还可以指示用户是否能够访问相应的应用状态。在其他示例中,gui可以将搜索结果显示为布置在用户输入搜索查询的搜索字段或框下方的用户可选链接的列表。例如,gui可以通过与链接相关联(即,与生成链接的aam相关联的)的结果分数或使用其他逻辑来安排用户可选链接。在其他示例中,gui还可以通过相关联的本地应用(例如,使用应用报头)对用户可选链接进行分组。

数据源104可以是搜索系统100可以用来生成和/或更新搜索数据存储器112的数据源。例如,搜索系统100可以使用数据源104以生成和/或更新包括在搜索数据存储器112中的一个或更多个数据库、索引、表格、文件或其他数据结构(例如,应用状态记录)。作为示例,搜索系统100可以生成新的应用状态记录和/或基于从数据源104检索的数据更新现有的应用状态记录。例如,搜索系统100可以包括基于数据生成新的应用状态记录和/或更新现有的应用状态记录的模块。在一些示例中,包括在搜索数据存储器112中的一些或全部数据(例如,一个或更多个应用状态记录)由人类操作者手动生成。

数据源104可以包括各种不同的数据提供者。例如,数据源104可以包括来自应用开发商的数据,诸如由应用开发商提供的应用开发商网站和数据馈送。数据源104还可以包括被配置为将应用分发到用户设备的数字分发平台的运营商。数据源104还可以包括其他网站,诸如包括网络日志(即,博客)、应用评论或与应用有关的其他数据的网站。另外,数据源104可以包括社交网站,诸如facebook公司的(例如,facebook帖子)以及twitter公司的(例如,来自tweets的文本)。数据源104还可以包括在线数据库,其包括与电影、电视节目、音乐和餐馆有关的数据。数据源104还可以包括其他类型的数据源,其可以具有各种类型的内容和更新速率。在一些示例中,搜索系统100从数据源104检索数据,包括与应用功能和/或应用状态有关的任何类型的数据。然后,搜索系统100可以基于数据生成一个或更多个应用状态记录,并将记录存储在搜索数据存储器112中。在其他示例中,包括在数据存储器112的应用状态记录中的数据(例如,asi)的一些或全部搜索可以由人类操作者手动生成。另外,在一些示例中,应用状态记录中包括的数据随时间更新,使得搜索系统100响应于从用户设备102接收的用户指定的搜索查询而提供最新的搜索结果。

图2例示了与搜索系统100和内容确定系统108进行通信的一个或更多个用户设备102的示例。具体地,图2描述了在用户设备102、搜索系统100和内容确定系统108之间交互和数据交换的示例。如图2所示,用户设备102可以将查询包装器发送到搜索系统100。查询包装器可以包括由用户设备102的用户指定的搜索查询(例如,诸如“蝙蝠侠电影”的文本串)134。如本文所描述的,用户可以已经将搜索查询134输入到被包括在用户设备102上的搜索应用128的gui的搜索字段135中。如本文所解释的,搜索应用128可以是本地应用(例如,某一个或更多个本地应用130)或者被包括在用户设备102上的基于网络的应用(例如,可通过网络浏览器应用126访问)。然后用户可以已经通过选择gui的搜索按钮137将搜索查询134提交给搜索系统100(即,作为查询包装器的一部分)。如进一步所示的,查询包装器可以包括另外的信息,诸如与用户、用户设备102和/或搜索查询134相关联的地理位置数据、平台数据和其他数据(例如,ip地址)中的某一个。

如图2所示,如本文所述的,查询包装器还可以包括指示用户可访问的一个或更多个本地应用的一个或更多个应用状态的内容信息136。例如,用户设备102(例如,搜索应用128)可以已经使用也被包括在用户设备102上的内容id模块132(例如,作为搜索应用128的一部分)来确定本地应用状态。作为一个示例,内容id模块132可以已经通过检测用户获得对相应的一个或更多个本地应用中的状态的访问(例如,在本地应用130的任意一个中或先前安装在用户设备102上的其他本地应用中)确定了一个或更多个应用状态。作为另一示例,内容id模块132可以已经通过直接访问相应的一个或更多个本地应用(例如,使用相关联的用户登录凭证的本地应用130中的某一个)确定了一个或更多个应用状态。作为又一示例,内容id模块132可以已经通过访问用户设备102和/或数据存储器(例如,内容注册表)上的存储器位置来确定一个或更多个应用状态。作为又一个示例,内容id模块132可以已经通过查询(例如,通过内容确定系统108)与对应的一个或更多个本地应用相关联一个或更多个api(例如,api120-1…120-n中的任意一个)来确定一个或更多个应用状态(例如,使相关联的用户登录凭证)。例如,内容id模块132可以已经基于所接收的信息确定了与本地应用相关联的api以及例如对应的用户登录凭证,所接收的信息指示与用户已经获得用户账户(例如,具有用户登录凭证)和/或不需要用户账户的本地应用相关联的api。在一些示例中,内容id模块132在用户使用搜索应用128输入和/或提交搜索查询134之前、期间(例如,响应于)或之后确定本地应用状态。

在其他示例中,搜索系统100(例如,内容确定系统108)可以确定用户可访问的本地应用的应用状态,而不从用户设备102接收内容信息136。作为一个示例,搜索系统100可以从数据存储器(例如,内容注册表)检索内容信息136。例如,用户设备102可以已经如上所述预先生成了内容信息136,并将该信息136发送到数据存储器。作为另一个示例,搜索系统100可以通过查询与对应的一个或更多个本地应用相关联的一个或更多个api(例如,api120-1...120-n中的任意一个)来确定一个或更多个应用状态(例如,使用相关联的用户登录凭证)。例如,搜索系统100可以使用指示与用户已经获得用户帐户(例如,用户登录凭证)和/或不需要用户账户的本地应用相关联的api的数据来确定与本地应用相关联的api以及例如对应的用户登录凭证。搜索系统100可以从用户设备102和/或另一个位置接收该数据。

在任何情况下,在从用户设备102接收到查询包装器时,搜索系统100(例如,结合内容确定系统108)可以基于搜索查询134并基于内容信息136生成一个或更多个搜索结果138。如本文所描述的,为了生成搜索结果138,搜索系统100可以基于搜索查询134来识别搜索数据存储器112中包括的一个或更多个应用状态记录,然后利用内容信息136对所识别的记录进行过滤和排名。如本文所描述的,搜索系统100可以进一步生成所识别的应用状态记录的结果分数(例如,作为使用内容信息136对记录进行排名的一部分)。搜索系统100然后可以将搜索结果138发送给用户设备102。如图2所示的,搜索结果138可以包括从过滤或排名的应用状态记录中选择的一个或更多个aam以及与aam(例如,记录)相关联的一个或更多个结果分数、链接数据和/或其他信息(例如,可访问性数据)。

如图2所示,当从搜索系统100接收到搜索结果138时,用户设备102可以将结果138作为用户可选的一个或更多个链接显示给用户。例如,用户设备102可以生成用户可选链接,使得每个链接与搜索结果138中包括的aam中的一个或更多个相关联(例如,包括)。如本文所述的,在搜索结果138中包括的每个aam可以指定本地应用的应用状态。因此,当用户选择了(例如,触摸或点击)每个用户可选链接时,用户设备102可以启动对应的本地应用并将该应用设置为由aam指定的应用状态。在这些示例中,用户设备102可以使用也被包括在搜索结果138中的链接数据来生成用户可选链接。例如,链接数据可以包括任何文本(例如,描述本地应用的名称和/或应用状态)和图像数据(例如,应用的图标或应用状态)。以这种方式,每个用户可选链接中包括(例如,用于生成)的链接数据可以描述与链接相关联的本地应用和/或应用状态。用户设备102还可以生成用户可选链接中的一个或更多个,以包括也作为搜索结果138的一部分接收到的可访问性数据。如本文所述的,每个用户可选链接中包括的可访问性数据可以向用户指示:链接(例如,通过搜索结果138中的对应搜索结果)指定的应用状态对于相应的本地应用中的用户是否是可访问的(例如,如内容信息136所指示的)。用户设备102还可以基于也被包括在搜索结果138中的结果分数来安排(例如,排序或排名)用户可选链接作为向用户显示链接的一部分。例如,用户设备102可以将与从其选择链接中包括的aam的应用状态记录相关联的结果分数分配给每个用户可选链接。然后用户设备102可以基于结果分数来排序用户可选链接(例如,显示用户可选链接的列表中比低排名的链接相对高的高排名链接)。下面参照图7a至图8c来描述在用户设备102上显示为用户可选链接的示例搜索结果138。

图3a例示了搜索系统100和内容确定系统108的示例。如本文所述的,搜索系统100使用从用户设备102、搜索数据存储器112中包括的数据(例如,应用状态记录)以及在一些示例中由搜索系统100确定的内容信息136来生成搜索结果138。具体地,搜索模块110基于搜索查询134以及例如基于内容信息136来识别搜索数据存储器112中包括的一个或更多个应用状态记录。搜索模块110进一步例如还基于内容信息136对识别的应用状态记录进行排名。在一些示例中,如下所述的,搜索模块110使用内容确定系统108对基于内容信息136的应用状态信息进行识别和/或排名。然后搜索模块110将识别应用状态记录的一个或更多个应用状态id140发送到搜索结果生成模块114。搜索结果生成模块114从搜索模块110接收应用状态id140、使用id140识别在搜索数据存储器112中的应用状态,并且从该记录中选择一个或更多个aam。然后搜索结果生成模块114将aam作为搜索结果138(例如,连同结果分数、链接数据和/或可访问性数据一起)发送到用户设备102。

如图3a所示的,在搜索系统100基于内容信息136生成搜索结果138的示例中,搜索模块110可以从用户设备102接收信息136,并且以本文描述的方式使用信息136对应用状态记录进行识别和排名。然而,在一些示例中,内容确定模块116和/或内容数据存储器118执行与搜索系统100确定内容信息136并且使用该信息136来对应用状态记录进行标识或排名相关联的一些或全部功能。例如,也如图所示的,内容确定模块116可以确定内容信息136(例如,通过访问数据存储器和/或查询api,如本文所描述的,例如使用用户登录凭证),并将信息136发送到搜索模块110。在一些示例中,内容确定模块116使用内容数据存储器118中包括的数据来确定内容信息136和/或将信息136存储在数据存储器118中。在任何情况下,搜索模块110可以从内容确定模块116接收内容信息136,并使用信息136来对应用状态记录进行识别或排名。

在一些示例中,搜索模块110通过确定每个记录包括描述由信息136指示的本地应用状态中的一个的asi来使用内容信息136识别应用状态记录。在其他示例中,搜索模块110可以通过确定每个记录来识别应用状态记录,该每个记录包括描述(例如,通过名称引用)本地应用状态中的一个的应用状态id和/或aam。在上述示例中,搜索模块110可以基于内容信息136与所识别的记录中包括的信息(例如,一个或更多个应用状态id、asi和/或aam)之间的一个或更多个(例如,文本)匹配来识别应用状态记录。

图3b例示了搜索模块110、搜索数据存储器112、内容确定模块116和内容数据存储器118的示例。图3b的搜索模块110包括查询分析模块142、考虑集合生成模块(以下称为“集合生成模块”)144和考虑集合处理模块(在下文中称为“集合处理模块”)146。查询分析模块142从用户设备102(例如,作为查询包装器的一部分)中的一个接收搜索查询134,并且分析查询134(例如,关于查询134执行任何标记化、过滤、词干化、同义化和停止词移除)。如本文所述的,集合生成模块144基于(例如,分析的)搜索查询134以及例如基于内容信息136来识别搜索数据存储器112中包括的一个或更多个应用状态记录。如图3b所示的,集合生成模块144可以从用户设备102或从内容确定系统108接收内容信息136。作为示例,集合生成模块144可以使用搜索查询134以及例如内容信息136来识别应用状态记录,作为由apachesoftwarefoundation开发的信息检索软件的输入。例如,集合生成模块144可以在基于搜索查询134的一个或更多个词语与记录中包括的一个或更多个信息(例如,应用状态id和/或asi)的词语之间的一个或更多个(例如,文本)匹配来识别应用状态记录。如本文中还描述的,在一些示例中,集合生成模块144进一步基于内容信息136(例如,用户可访问的一个或更多个本地应用状态的指示)和记录中指示的或与记录相关联的信息(例如,应用状态id、asi和/或aam)之间的一个或更多个匹配来识别应用状态记录。所识别的应用状态记录在本文中可被称为“考虑集”。集合处理模块146可处理(例如,评分和选择其子集)考虑集(例如,基于内容信息136生成所识别的应用状态记录的分数并基于分数选择记录的子集)。如上所述的,然后,集合处理模块146可以生成标识(例如,评分的)应用状态记录的一些或全部的一个或更多个应用状态id,并且将这些id发送到搜索结果生成模块114。

由搜索结果138传达的信息可以依赖于集合处理模块146为应用状态记录生成结果分数的方式。例如,对于每个应用状态记录,相应的结果分数可以指示由记录指定的应用状态或功能与搜索查询134、应用状态或功能的流行度或应用状态或功能的其他属性的相关性,根据一个或更多个参数,集合处理模块146用于对应用状态记录进行评分。集合处理模块146可以以各种不同的方式为应用状态记录生成结果分数。在一些示例中,集合处理模块146基于一个或更多个评分特征来为应用状态记录生成结果分数。评分特征可以与应用状态记录和/或搜索查询134相关联。应用状态记录评分特征(以下称为“记录评分特征”)可以基于与应用状态记录相关联的任何数据。例如,记录评分特征可以基于应用状态记录的asi中包括的任何数据。示例记录评分特征可以是质量分数,并且应用状态记录是否包括指定默认应用状态(例如,本地应用的主页面)或更深的应用状态的aam。查询评分特征可以包括与搜索查询134相关联的任何数据。例如,查询评分特征可以包括搜索查询134中的多个词、查询134的流行度以及查询134中的词的预期频率。记录查询评分特征可包括基于与应用状态记录和搜索查询134都相关联的数据而生成的任何数据,其中搜索查询134是由集合生成模块144识别记录而产生的。例如,记录查询评分特征可以包括指示搜索查询134的词语与所标识的应用状态记录的asi的词语匹配程度的参数。在一些示例中,如本文所描述的,集合处理模块146基于内容信息136来生成用于应用状态记录的结果分数。在这些示例中,内容评分特征可以包括与内容信息136相关联的任何数据(例如,指示用户可访问的一个或更多个本地应用状态)。例如,集合处理模块146可以基于记录是否指定由内容信息136指示的任何本地应用状态来为应用状态记录生成结果分数(例如,基于记录指定的应用状态是否在对应的本地应用内为用户可访问)。根据所公开的技术,集合处理模块146可以基于记录、查询、记录查询、内容和/或未明确列出的另外的评分特征中的至少一个来生成结果分数。

在一些示例中,集合处理模块146包括被配置为接收一个或更多个评分特征的一个或更多个机器学习模型(例如,监督学习模型)。机器学习模型可以基于上述的记录、查询、记录查询和内容评分特征中的至少一个来生成一个或更多个结果分数。例如,集合处理模块146可以将搜索查询134与每个应用状态记录配对,并计算每个(查询、记录)对的特征矢量。特征矢量可以包括一个或更多个记录、查询、记录查询和内容评分特征。然后,集合处理模块146可以将特征矢量输入到机器学习回归模型中,以计算应用状态记录的结果分数。在一些示例中,机器学习回归模型包括一组决策树(例如,梯度提升决策树)。在其他示例中,机器学习模型可以通过逻辑回归的简单形式来训练。而在其他示例中,上述的机器学习任务可以被构建为半监督学习任务,其中少数训练数据被标记有人类策划的结果分数并且其余数据没有这样的标记而被使用。

如这里所描述的,可以以各种不同的方式使用与应用状态记录(例如,包括在其中的aam)相关联的结果分数。在一些示例中,结果分数被用来对列表内的aam进行排名(例如排序)。在这些示例中,较高的结果分数可以指:与具有较小的结果分数的aam相比,对应的aam(例如,应用状态)与用户更相关。在其中搜索结果138被显示为用户设备102上的用户可选链接的列表的示例中,包括与较大结果分数相关联的aam的链接可以被列在更靠近列表的顶部(例如,靠近屏幕的顶部)。在这些示例中,包括具有较低结果分数的aam的链接可以位于列表的更下方(例如,屏幕外),并且可以通过向下滚动用户设备102的屏幕而被访问。在一些示例中,如以下描述的图7b和图8b中所示,用户设备102将与同一本地应用相关联的用户可选链接分组。

图4例示了与搜索系统100和内容确定系统108通信的用户设备102中的一个的另一示例。图4的示例包括以上参考图2描述的一些特征。在图4的示例中,用户设备102可以以与上述类似方式将包括搜索查询134和另外的信息(例如,地理位置、平台和/或ip地址数据)的查询封装器发送到搜索系统100。一旦从用户设备102接收到查询包装器,搜索系统100就可以基于搜索查询134生成一个或更多个搜索结果138。如本文所描述的,搜索系统100可以基于搜索查询134识别搜索数据存储器112中包括的一个或更多个应用状态记录。如同样在本文中描述的,搜索系统100可以进一步为所识别的应用状态记录生成结果分数(例如,排名)。然后搜索系统100可以将搜索结果138发送给用户设备102。如图4所示,搜索结果138可以包括从所识别的(例如,排名的)应用状态记录、一个或更多个结果分数、链接数据和/或其他数据中选择的一个或更多个aam。

在该示例中,用户设备102可以以上述参考图2所述的方式来确定(例如,生成)指示设备102的用户可访问的一个或更多个本地应用的一个或更多个应用状态的内容信息136。在从搜索系统100接收到搜索结果138后,用户设备102可以基于内容信息136向用户显示搜索结果138。例如,用户设备102可以生成一个或更多个用户可选链接,该链接包括搜索结果138中包括的aam、链接数据和例如可访问性数据。如本文所述,用户设备102可以进一步使用内容信息136对搜索结果138(例如,用户可选链接)进行过滤或排名。用户设备102还可以基于也被包括在搜索结果138中的结果分数来安排(例如,进一步排名)(例如,过滤的或排名的)用户可选链接作为向用户显示链接的一部分。例如,用户设备102可以显示列表中比低排名链接相对高的高排名链接。

图5a和图5b例示了可以被包括在搜索数据存储器112中的示例应用状态记录。图5a例示了应用状态记录148的一般示例。图5a的应用状态记录148包括与本地应用的应用状态有关(例如,指定)的信息。如图5a所示,应用状态记录148包括应用状态id150,其唯一地标识搜索数据存储器112中包括的其他应用状态记录中的记录148。也如图所示的,应用状态记录148包括描述由记录148指定的应用状态的asi152(例如,文本),并且其可以用于识别搜索数据存储器112内的记录148。如进一步所示的,应用状态记录148包括使用户设备102能够访问本地应用内的记录148指定的应用状态的一个或更多个aam154。例如,如本文所述,aam154中的每个可引用本地应用并指示应用(例如,用户设备102)要执行的一个或更多个操作。也如本文所述,执行操作的本地应用可以将应用设置为应用状态。如本文中进一步所述的,在一些示例(未例示)中,应用状态记录148还包括由记录148指定的应用状态通过启动本地应用可由所有用户访问的指示(例如,在不需要用户首先为该应用创建用户帐户的情况下)。

在其他示例(也未示出)中,应用状态记录148还可以包括应用下载地址(ada)和网络访问机制(wam)中的一个或更多个。如本文所述,ada和/或wam可以连同aam154从应用状态记录148中一起被选择,并作为搜索结果138的一部分发送到用户设备102。ada可以指定用户设备102可以下载由aam154引用的本地应用的位置(例如,诸如谷歌公司的play的数字分发平台)。响应于用户选择包括用户设备102上的ada的用户可选链接,用户设备102可以使用ada下载本地应用并安装该应用。用户设备102可以进一步启动本地应用并将该应用设置为由也被包括在用户可选链接中的aam154指定的应用状态。与之相比,wam可以指定与由aam154指定的应用状态等同(例如,类似)的基于网络的应用的应用状态。响应于用户选择包括用户设备102上的wam的用户可选链接,用户设备102可启动被包括在用户设备102上的网络浏览器应用126并使用wam访问基于网络的应用的等效应用状态。例如,wam可以包括引用网络资源(例如,基于网络的应用或网站的页面)的资源标识符。例如,wam可以包括与超文本传输协议(http)一起使用的统一资源定位符(url)(即,网址)。在用户选择包括wam的用户可选链接之后,用户设备102可启动网络浏览器应用126并检索由资源标识符引用的网络资源(例如访问由wam指定的基于网络的应用或网站的应用状态或页面)。

在另外的示例中,图5a的应用状态记录148还可以包括描述与记录148中描述的人、地点或事物相关联的一个或更多个度量的值的信息。示例度量包括在应用状态记录148中描述的地点的流行度和/或地点的评级(例如,用户评级)。例如,如果应用状态记录148描述歌曲,则与歌曲相关联的度量可以基于歌曲的流行度和/或歌曲的评级(例如,用户评级)。应用状态记录148中包括的信息还可以基于与记录148相关联的测量结果,诸如在搜索期间记录148被多长时间检索一次以及用于记录148的aam154中的任一个的用户可选链接多长时间被用户选择一次。该信息还可以指示应用状态记录148是否包括本地应用的默认应用状态或更深应用状态的aam(例如,aam154中的一个)。如本文所述,在一些示例中,搜索系统100(例如,集合处理模块146)使用该信息来为应用状态记录148生成结果分数(例如,基于搜索查询134识别记录148并且作为在其他所识别的应用状态记录中排名记录148的一部分)。

图5b例示了指定netflix公司的本地应用“netflix”(以下称为“netflix”)的应用状态的应用状态记录158的具体示例。由图5b的应用状态记录158指定的应用状态与netflix中电影“batmanreturn”的入口对应。如图5b所示,应用状态记录158包括应用状态id“netflix-batmanreturn”160,其在搜索数据存储器112中包括的其他应用状态记录中唯一地标识记录158。在其他示例中,应用状态id160可以是数值或具有另一种(例如,机器可读的)表示。如进一步所示,应用状态记录158包括描述由记录158指定的应用状态的asi162。如图所示,asi162包括电影“batmanreturn”的描述、演员和制片信息、用户评论/评级和/或与电影或由应用状态记录158指定的应用状态相关的任何其他信息(例如,另外的数据字段)。在一些示例中,asi162还描述由应用状态提供的一个或更多个功能,诸如,如“查看放映时间”、“购买门票”、“阅读用户评论”和“编写用户评论”。还如图所示,应用状态记录158还包括一个或更多个aam164,其使得用户设备102访问由netflix中的记录158指定的应用状态。如上所述,应用状态记录158还可以可选地包括一个或更多个ada和/或wam。

图6a和图6b例示了根据本公开的可以用于存储内容信息136的示例数据结构。图6a例示了此数据结构166的一般示例。图6a的数据结构166包括指示用户(例如,用户设备102的)可访问的一个或更多个本地应用状态的信息。例如,数据结构166可以使用字母、数字和其他(例如机器可读的)表示的任意组合来表示该信息。如图6a所示,数据结构166包括用户名/id168,其在其他相似数据结构和相关联的用户(例如,其全部可以存储在公共数据存储器中)中唯一地标识结构166和对应的用户。还如图所示的,数据结构166还包括一个或更多个应用名称/id170-1...170-n(统称为“应用名称/id170”)(其中“n”是大于或等于1的正整数值),其每个指定包括用户可访问的一个或更多个应用状态的本地应用。如进一步所示,对于每个应用名称/id170,数据结构166还包括一个或更多个应用状态名称/id172-1...172-m和174-1...174-l(统称为“应用状态名称/id172,174”)(其中“m”和“l”各自是大于或等于1的正整数值),其每个指定应用状态中的一个。这样,数据结构166表示指示一个或更多个本地应用的一个或更多个应用状态的内容注册表,每个应用状态均可由用户访问。如这里所解释的,用户可以借助于以下方式访问应用状态:用户为任何本地应用创建用户帐户、购买或以其他方式获得对任何状态的访问和/或访问任何状态而无需首先创建用户帐户。如本文所述,数据结构166及其各种内容(例如,应用名称/id170和/或应用状态名称/id172,174)可以通过以下方式来生成或更新:通过检测用户获得对本地应用中的一个或更多个的应用状态的一个或更多个的访问、访问用户设备102上的一个或更多个应用、访问设备102内或外的另一位置和/或查询与一个或更多个应用相关联的一个或更多个api。

图6b例示了上述数据结构166的具体示例。图6b的数据结构176包括在任何其他类似数据结构和相关联的用户中唯一地标识结构176和对应的用户的用户名称/id“用户1”178。数据结构176进一步包括应用名称/id“amazoninstantvideo”180-1、“netflix”180-2和“vudu”180-3,其每个指定包括用户可访问的一个或更多个应用状态的本地应用(即,“amazoninstantvideo”、“netflix”和“vudu”中的一个)。对于每个应用名称/id180-1,180-2和180-3,数据结构176还包括每个指定应用状态中的一个的应用状态名称/id182-1,182-2,182-3,184-1和186-1中对应的一个。如图6b所示,指定“amazoninstantvideo”的应用名称/id180-1与应用状态名称/id182-1,182-2和182-3相关,应用状态名称/id182-1,182-2和182-3指定与电影“batman”、该电影的电影配乐以及与该电影相关的电子书(电子书)对应的“amazoninstantvideo”的应用状态。如进一步所示,指定“netflix”的应用名称/id180-2与指定“netflix”的一个或更多个(例如,数百个)应用状态的一个或更多个应用名称/id184相关联,“netflix”的一个或更多个(例如,数百个)应用状态与各种标题(例如,电影或电视节目)对应。类似地,也如图所示,指定“vudu”的应用名称/id180-3与指定“vudu”的一个或更多个应用状态的一个或更多个应用状态名称/id186相关联,“vudu”的一个或更多个应用状态与各种视频标题对应。

图7a至图8c例示了根据本公开可在用户设备102上生成的示例gui。具体而言,图7a至图8c的示例描绘了用户设备102基于由用户设备102的用户指定的搜索查询134和与用户相关联的内容信息136来执行对本地应用的应用状态的搜索。如图7a所示,用户将搜索查询“batmanmovie”134输入到在用户设备102上执行的搜索应用128的gui(例如,搜索字段135)中。也如图所示的,用户进一步与gui交互(例如,其搜索按钮137),以使得搜索应用128将搜索查询134发送到搜索系统100。在一些示例中,用户设备102(例如,搜索应用128)还将指示用户可访问的本地应用状态的内容信息136发送到搜索系统100(例如,连同搜索查询134一起)。在其他示例中,搜索系统100可以确定内容信息136。在上述示例中,内容信息136可以指示与针对电影“batman”的由亚马逊公司的本地应用“amazoninstantvideo”(以下简称“amazoninstantvideo”)中的入口对应的应用状态。在此示例中,用户可以已经初始创建了需付费的带有相应的amazoninstantvideo用户登录凭证的用户帐户。然后用户可以已经购买了对应用状态的访问(例如,付费以将电影“batman”添加到用户的amazoninstantvideo库中用于无限制回放)。内容信息136可以进一步指示与netflix中用于电影“batmanreturns”的入口的应用状态。在该示例中,用户可以已经付费为netflix创建了具有对应的用户登录凭证的用户账户。结果,用户可以已经通过创建用户账户而获得了对netflix中的所有应用状态(包括所述应用状态)的访问(例如,无限制回放)。内容信息136还可以指示与针对电影“thedarkknight”的hulu公司在本地应用(在下文中,“hulu”)中的入口对应的应用状态。在该示例中,用户可以已经获得了hulu中所有应用状态(包括所述应用状态)的访问,而无需首先创建hulu的用户帐户。

如图7b所示,用户设备102响应于将搜索查询134和例如内容信息136发送到搜索系统100而从搜索系统100接收搜索结果138,并将搜索结果138作为用户可选链接190-1...190-3(统称为“链接190”)显示给用户。在图7b的示例中,搜索结果138响应于搜索查询134(即文本串“batmanmovie”)并指定用户可访问的amazoninstantvideo、netflix和hulu的应用状态。换句话说,由每个搜索结果138(例如,通过其中包括的aam)指定的应用状态可由用户在这些本地应用中的一个中访问,例如使用相关联的用户账户(对应的用户登录凭证)。在这个示例中,搜索系统100可以通过确定对应的应用状态记录148指定内容信息136所指示的amazoninstantvideo、netflix和hulu中的应用状态中的一个或者其中的输入,来生成每个搜索结果138。如图7b所示,用户设备102可以使用指示对应的本地应用的应用报头188-1至188-3(统称为“报头188”)来安排链接190。如进一步例示的,用户设备102还可以基于对应的搜索结果138和搜索查询134的相关性来对链接190进行排序。具体地,如图7b所示,引用电影“batman”的用户可选链接190-1(例如,对应的搜索结果138)可能分别比引用电影“batmanreturns”和“thedarkknight”的用户可选链接190-2和190-3更相关于搜索查询“batmanmovie”134。还如图所示,用户设备102可以显示链接190,使得链接190中的一个或更多个(例如,经由gui元件192、194和196中的任意一个)各自向用户指示amazoninstantvideo、netflix或hulu中的对应的应用状态可由用户访问。例如,用户设备102可以使用也从搜索系统100接收到的可访问性数据来生成作为搜索结果138的一部分各个这样的链接190。

如在图7b中进一步所示,用户可以选择(例如,触摸或点击)用户设备102上的链接190中的一个,即指定用于电影“batman”的amazoninstantvideo中的入口的链接190-1。如图7c中所示,当用户选择用户可选链接190-1时,用户设备102可启动amazoninstantvideo并将amazoninstantvideo设置为由链接190-1指定的应用状态(例如,通过其中包括的aam)。特别地,用户设备102可以配置amazoninstantvideo以显示用于电影“蝙蝠侠”的amazoninstantvideo中的入口的gui198。在用户设备102将amazoninstantvideo设置为应用状态(例如,入口)用户可以与状态交互(例如,使得amazoninstantvideo在用户设备102上播放电影“batman”)。

图8a类似于上述的图7a。在图8a至图8c的示例中,内容信息136可以再次指示与用于电影“batman”和“batmanreturns”的amazoninstantvideo和netflix中的入口对应的应用状态。图8b示出了用户设备102响应于将搜索查询134以及例如内容信息136发送给搜索系统100而从搜索系统100接收的搜索结果138。如在图8b中所示,用户设备102将搜索结果138作为用户可选链接190-1、190-2和190-4(统称为“链接190”)显示给用户。在这个示例中,搜索结果138响应于搜索查询134,并以与上述参照图7b的方式类似的方式来指定用户可访问的amazoninstantvideo和netflix的应用状态。还如图所示,搜索结果138进一步指定与用于电影“batman”的hulu公司的本地应用(下文称为“huluplus”)的中的入口对应的应用状态。在该示例中,用户可能无法访问与用于电影“batman”的huluplus中的入口对应的应用状态。例如,用户可能没有创建huluplus要求的用户账户(例如,具有对应的用户登录凭证)以访问huluplus的应用状态。另外地或可替代地,用户可能还没有获得(例如,购买或以其他方式获得的)对应用状态的访问(例如,付费以将电影“batman”添加到用户的huluplus库以供无限重放)。

在图8a至图8c所示的示例,每个搜索结果138可以基于对应的应用状态记录148是否指定由内容信息136所指定的amazoninstantvideo和netflix中的任何应用状态或入口,与搜索系统100所生成的结果分数相关联。如图8b所示,用户设备102可以通过基于对应的结果分数对每个链接190进行排名(例如,排序)来显示为搜索结果138生成的链接190。例如,如图所示,用户设备102可以在列表中比用户可选链接190-4更高地显示指定用户可访问的amazoninstantvideo中的用于电影“batman”的入口的用户可选链接190-1,用户可选链接190-4指定用户不可访问的huluplus中用于同一电影的入口。还如图所示,用户设备102可以显示链接190,使得链接190中的一个或更多个每个向用户指示(例如,经由gui元件192和194中的任意一个)amazoninstantvideo、netflix或huluplus中对应的应用状态是否可供用户访问。例如,如上所述,用户设备102可以使用从搜索系统100接收的可访问性数据以及搜索结果138来生成每个这样的链接190。如进一步例示的,在一些示例中,用户设备102还以与上述相似的方式使用应用报头188-1、188-2和188-4来安排链接190和/或基于相应的搜索结果138和搜索查询134的相关性对链接190进行排序。

如图8b所示,用户可以选择指定用于电影“batmanreturns”的netflix中的入口的用户可访问的(例如,作为用户的netflix订阅的一部分或用户账户)用户可选链接190-2。如图8c中所示,在用户选择用户可选链接190-2之后,用户设备102可启动netflix并将netflix设置为由链接190-2指定的应用状态(例如,使netflix在gui200显示“batmanreturns”入口)。在用户设备102将netflix设置为应用状态时,用户可以与状态交互(例如,导致netflix播放电影“batmanreturns”)。

图9a和图9b是例示了用于基于从用户设备102接收的搜索查询134并且基于由搜索系统100确定的内容信息136在搜索系统100处生成应用状态搜索结果138的示例方法的流程图。图9a例示了用于通过基于内容信息136对使用搜索查询134识别的一个或更多个应用状态记录148进行过滤来生成搜索结果138的示例方法900a。与之相比,图9b例示了用于通过基于内容信息136对应用状态记录148进行排名来生成搜索结果138的示例方法900b。

参考图9a,在框902a中,搜索系统100可以最初从用户设备102(例如,作为查询包装器的一部分)接收由用户指定的搜索查询134。在框904a中,搜索系统100(例如,查询分析模块142)可以可选地执行对搜索查询134的分析。在框906a中,搜索系统100可以确定指示可由用户设备102的用户访问的一个或更多个本地应用状态的内容信息136。如本文所述,每个本地应用状态可以与用于任何类型的媒体或文档的本地应用中的入口(例如,本地应用130中的任意一个或者未安装在用户设备102上的本地应用)对应。也如本文所述,借助于用户已经执行了以下任何操作,在一个或更多个本地应用中本地应用状态是用户可访问的。作为一个示例,用户可以借助于使用(例如,启动)应用(例如,没有首先为每个应用创建用户账户)来访问一个或更多个本地应用中的一个或更多个本地应用状态。作为另一示例,用户可以已经创建了用于本地应用中一个或更多个的每个的用户账户(例如,向其注册)(例如,免费或收费的),从而获得对在应用中的本地应用状态的一个或更多个的接入。另外地或可选地,用户可以已经获得(例如,免费或收费的)对本地应用中对应的一个的本地应用状态中的一个或更多个的每个的访问(例如,通过首先为应用创建用户帐户,或没有用户帐户)。

在一些示例中,搜索系统100从用户设备102接收内容信息136(例如,也作为查询包装器的一部分,或与搜索查询134分开)。例如,用户设备102可以通过执行以下任何操作来生成内容信息136。作为一个示例,用户设备102(例如,内容id模块132)可以通过检测(例如,监视)用户获得(例如,购买或免费获得)对一个或更多个应用(例如,任何本地应用130和/或先前安装在用户设备102上的任何其他本地应用)中的状态的访问,来确定由内容信息136指示的本地应用状态中的一个或更多个)。作为另一示例,用户设备102(例如,内容id模块132)可以通过直接访问本地应用130中的一个或更多个(例如,使用对应的用户登录凭证)来确定本地应用状态中一个或更多个。在该示例中,在访问(例如,登录)本地应用130时,用户设备102可以确定用户已经获得(例如,购买或免费获得)或当前授权访问本地应用中的本地应用状态。在又一个示例中,用户设备102(例如,内容id模块132)可以通过访问设备102(例如,内容注册表)上的或者在设备102(例如,内容注册表)外的另一个存储器位置来确定本地应用状态中的一个或更多个。在又一示例中,用户设备102(例如,经由内容确定系统108)可以通过查询与对应的一个或更多个本地应用(例如,任何本地应用130和/或未安装在用户设备102上的任何其他本地应用)相关联的一个或更多个api(例如,api120和/或其他api中的任一个)来确定本地应用状态中的一个或更多个。在这个示例中,作为查询api的一部分(例如,使用对应的用户登录凭证),用户设备102可以确定用户已经获得(例如,购买或免费获得)或者当前授权访问到本地应用中的本地应用状态。例如,用户设备102可以使用从另一位置检索的信息来确定与本地应以及例如对应的用户登录凭证相关联的api。该信息可以指示与用户已经获得用户账户(例如,具有用户登录凭证)的本地应用相关联的api,和/或不需要用户账户的api。在其他示例中,在生成内容信息136时,用户设备102可以将信息136存储在数据存储器中,其中搜索系统100可以检索信息136。

在其他示例中,搜索系统100可以从内容确定系统108接收内容信息136。内容确定系统108可以以与参考用户设备102上述类似的方通过执行以下任一操作来式生成内容信息136。在一个示例中,内容确定系统108(例如,内容确定模块116)可以通过访问系统108中(例如,内容数据存储器118)或系统108外(例如,内容注册表)的位置来确定内容信息136所指示的一个或更多个本地应用状态。在另一个示例中,内容确定系统108(例如,内容确定模块116)可以通过查询与对应的一个或更多个本地应用(例如,本地应用130和/或任何其他未安装在用户设备102上的本地应用中的某一个)相关联的一个或更多个api(例如,api120和/或其他api中的任意一个)来确定本地应用状态中的一个或更多个。在该示例中,内容确定系统108可以使用从用户设备102和/或另一位置检索的信息来确定与本地应用相关联的api以及例如对应的用户登录凭证。该信息可以指示与用户已经获得用户账户(例如,具有用户登录凭证)的本地应用相关联的api和/或不需要用户账户的api。响应于查询api(例如,使用用户登录凭证),内容确定系统108可以确定用户已经获得或当前授权访问本地应用内的本地应用状态。在进一步的示例中,内容确定系统108(例如,内容确定模块116)可以将内容信息136存储在内容数据存储器118中(例如,用于稍后检索)。

在一些示例中,搜索系统100从用户设备102(例如,作为查询包装器的一部分,或者单独地)接收其他信息,诸如与用户设备102相关联的用户信息和/或地理位置、平台和ip地址信息。在任何情况下,在框908a中,搜索系统100(例如,集合生成模块144)可以基于(例如,分析的)搜索查询134并且基于内容信息136识别包括在搜索数据存储器112中的一个或更多个应用状态记录148的考虑集合。在该示例中,每个所识别的应用状态记录148可以指定本地应用的应用状态。搜索系统100(例如,集合生成模块144)可以基于搜索查询134的词语与包括在记录148中的信息的词语(例如,应用状态id150和/或asi152)之间的匹配来识别应用状态记录148。搜索系统100(例如,集合生成模块144)可以基于由记录148指定的本地应用的一个或更多个应用状态与内容信息136指定的本地应用状态之间的匹配来进一步识别应用状态记录148。例如,搜索系统100可以识别应用状态记录148,如上所述,使得每个记录148既与搜索查询134匹配,并且包括描述由内容信息136指示的本地应用状态中的一个的应用状态id150、asi152和aam154中的一个。

在一些示例中,如上所述,搜索系统100使用之前已经确定的内容信息136来识别一个或更多个应用状态记录148。在其他示例中,搜索系统100可以使用动态确定的内容信息136(例如,基于应用状态记录确定的并且仅指示所识别的应用状态记录148的应用状态,从而增强用户的隐私)来识别应用状态记录148中的一个或更多个。作为一个示例,对于所识别的应用状态记录148中的至少一个,搜索系统100可以查询与包括在记录148中的aam154引用的本地应用相关联的api。响应于对api进行查询,搜索系统100可以确定由包括在应用状态记录148中的asi152所描述的本地应用的应用状态是用户可访问的。在一些示例中,搜索系统100首先确定与本地应用和用户相关联的用户登录凭证(例如,确定应用与具有属于用户的用户登录凭证的用户账户相关联),然后使用用户登录凭证查询api。在这些示例中,搜索系统100可以通过从用户设备102和/或另一位置检索信息来确定本地应用、用户账户、相关联的api以及例如用户登录凭证。该信息可以指示与用户已经获得用户账户(例如,具有用户登录凭证)的本地应用相关联的api。作为另一个示例,所标识的应用状态记录148中的至少一个可以包括所有用户都可以访问包括在记录148中的asi152所描述的应用状态的指示(例如,文本)。在该示例中,搜索系统100可以基于该指示确定用户可访问应用状态。

在方框910a-912a中,搜索系统100(例如,设置处理模块146)可以可选地处理应用状态记录148的考虑集合。具体地,在方框910a中,搜索系统100可以为包括在考虑集合中的应用状态记录148生成一个或更多个结果分数。例如,搜索系统100可以为包括在考虑集合中的每个应用状态记录148生成结果分数。在框912a中,搜索系统100可基于与所选的148相关联的一个或更多个结果分数从考虑集合中选择一个或更多个应用状态记录148(例如,的子集)。例如,搜索系统100可以选择具有最高(例如,最大)的一个或更多个结果分数的一个或更多个应用状态记录148。在任何情况下,在框914a中,搜索系统100(例如,搜索结果生成模块114)可以从考虑集合的(例如,选择的)应用状态记录148中选择一个或更多个aam。例如,搜索系统100可以从每个(例如,选择的)应用状态记录148中选择一个或更多个aam。在一些示例中,搜索系统100还从(例如,选择的)应用状态记录148中选择其他信息,诸如与记录148相关联的结果分数、链接数据和/或可访问性数据。在框916a中,搜索系统100(例如,搜索结果生成模块114)可以生成包括所选的aam的一个或更多个搜索结果138。例如,搜索系统100可以生成搜索结果138,使得每个结果138包括从考虑的每个(例如,所选)应用状态记录148中所选的一个或更多个aam(以及,例如其他信息)。在框918a中,搜索系统100(例如,搜索结果生成模块114)可以将包括所选的aam和任何其他信息的搜索结果138发送到生成搜索查询134的用户设备10。

参照图9b,框902b-904b类似于上述的框902a-904a。在框906b中,搜索系统100(例如,集合生成模块144)可以基于(例如,分析的)搜索查询134来识别包括在搜索数据存储器112中的一个或更多个应用状态记录148的考虑集合。如本文所述,这个示例中,每个识别的应用状态记录148可以指定应用的应用状态。例如,搜索系统100(例如,集合生成模块144)可以基于搜索查询134的词语与包括在记录148的信息的词语(例如,应用状态id150和/或asi152)之间的匹配来识别应用状态记录148。包括在记录148中,也在这里描述。在框908b中,搜索系统100可以以与上述参考图9a的类似的方式来确定内容信息136。例如,搜索系统100可以从用户设备102或从内容确定系统108接收内容信息136。用户设备102或内容确定系统108可以使用先前参考图图9a描述的技术中的任一种来生成内容信息136。如上所述,搜索系统100可以从用户设备102接收其他数据,例如与用户设备102相关联的用户信息和/或地理位置、平台以及ip地址信息。

在框910b-914b中,搜索系统100(例如,集合处理模块146)可以处理应用状态记录148的考虑集合。具体地,在框910b中,搜索系统100可以基于内容信息136为包括在考虑集合中的每个应用状态记录148生成结果分数。如本文所述,例如,搜索系统100可以结合机器学习回归模型使用内容信息136作为评分特征(例如,其一部分)来生成每个结果分数。如具体示例,搜索系统100可以基于由对应的应用状态记录148指定的应用状态是否是用户设备102的用户可访问的本地应用状态中的某一个(如内容信息136所指示的)来生成每个结果分数。如本文所述,在一些示例中,搜索系统100还基于一个或更多个另外的评分特征(例如,记录、查询和/或记录查询评分特征)来生成每个结果分数。在框912b中,搜索系统100(例如,集合处理模块146)可以基于对应的结果分数对考虑集合的应用状态记录148进行排序(例如,排名)(例如,按照结果分数降序安排记录148)。在框914b中,搜索系统100(例如,集合处理模块146)可以从考虑集合(例如,由结果分数阈值定义的排序的应用状态记录148的子集,该子集包括一个或更多个最高排名记录148)中选择排序的应用状态记录148中的一个或更多个。

如本文所述,在框916b中,搜索系统100(例如,搜索结果生成模块114)可以从所选的应用状态记录148中选择一个或更多个aam,例如与诸如与记录148相关联的结果分数、链接数据和/或可访问性数据的其他信息一起。如本文所述,在框918b中,搜索系统100可以生成包括所选aam和任何其他信息的一个或更多个搜索结果138,并且在框920b中,将包括所选aam的结果138发送给生成搜索查询134的用户设备102。

图10a是例示了用于基于由用户设备102的用户指定的搜索查询134和与用户相关联的内容信息136在用户设备102处生成应用状态搜索结果138的示例方法1000a的流程图。如图10a所示,在框1002a中,用户设备102可以从用户接收搜索查询134(例如,文本串)。例如,用户设备102可以通过在用户设备102上执行的搜索应用128(例如,的gui)来接收搜索查询134。在框1004a中,用户设备102可以将搜索查询134发送到搜索系统100(例如,作为查询包装器的一部分)。搜索系统100可以从用户设备102接收搜索查询134,并且基于搜索查询134来生成一个或更多个搜索结果138。如本文所述,搜索结果138可以包括一个或更多个aam、结果分数、链接数据和/或可访问性数据。搜索系统100然后可以将搜索结果138发送到用户设备102。在框1006a中,用户设备102可以响应于将搜索查询134发送到搜索系统100而从搜索系统100接收包括aam的搜索结果138。

在方框1008a中,用户设备102可以以与上述参照图9a和图9s的类似的方式来识别用户可访问的一个或更多个本地应用状态(例如,内容信息136)。如这里所描述的,用户设备102(例如,搜索应用128)可以使用内容id模块132来识别本地应用状态(例如,通过检测用户获得对一个或更多个本地应用中的状态的访问、访问本地应用130中的一个或更多个、访问设备102内或外的另一位置,或者查询与对应的一个或更多个本地应用相关联的一个或更多个api)。

在框1010a中,用户设备102可以确定搜索结果138中包括的aam的某一个是否指定本地应用状态的某一个。例如,指定本地应用状态中的一个的搜索结果138中包括的aam可以指示用户可以访问对应的本地应用内的aam(即,本地应用状态中的一个)所指定的应用状态。在具体示例中,用户设备102可以针对每个aam确定执行由aam指示的一个或更多个操作的aam所引用的本地应用是否将该应用设置为任何本地应用状态。

在框1012a中,用户设备102可以基于上述确定将搜索结果138中包括的aam作为一个或更多个用户可选链接显示给用户。例如,每个用户可选链接可以包括aam中的一个或更多个以及例如也作为搜索结果138的一部分接收到的对应的链接和/或可访问性数据。作为一个示例,用户设备102可以基于该确定通过仅显示aam中指定某一本地应用状态为用户可选链接的那些aam来过滤搜索结果。换言之,用户设备102可以仅选择aam中指定用户可访问的应用状态的那些aam。作为另一个示例,用户设备102可以基于该确定,通过基于aam是否指定某一本地应用状态(例如,基于由该应用指定的应用状态)为每个aam生成结果分数来对搜索结果138进行排名。在一些示例中,用户设备102还基于作为搜索结果138的一部分接收到的对应的结果分数来为aam生成结果分数。在任何情况下,用户设备102可以进一步基于相应结果分数对包括aam的用户可选链接进行排名(例如,排序)。

图10b是例示了用于响应于用户设备102的用户与显示给用户设备102上的用户的应用状态搜索结果138交互而执行一个或更多个示例动作的示例方法1000b的流程图。如图10b所示,在框1002b中,如以上参考图10a所述,用户设备102可以首先确定(例如,检测)用户已经选择了显示给用户的用户可选链接中的一个。还如图所示,在框1004b中,响应于检测到用户选择,用户设备102可以确定是否执行以下任何动作。作为一个示例,如方框1006b和1008b所示,用户设备102可以启动由所选的用户可选链接所引用的本地应用(例如,通过包括在链接中的aam)并将该应用设置为由该链接(例如,由aam)指定的应用状态。作为另一示例,如方框1010b和1012b所示,用户设备102可以下载本地应用(例如,使用也被包括在所选的用户可选链接中的ada从数字分发平台下载),并安装该应用。在该示例中,在下载和安装本地应用之后,用户设备102可以以与上面参考框1006b和1008b类似的方式启动应用并将应用设置为应用状态。作为又一示例,如方框1014b和1016b所示,用户设备102可启动网络浏览器应用126并访问与基于网络的应用的应用状态对应的url(例如,使用也包括在所选用户可选链接中的wam)。基于网络的应用的应用状态可以是上述本地应用的应用状态的等同物。

用户设备102可以确定是否执行上述动作的某一组合。作为一个示例,如果在用户设备102上安装了所选用户可选链接所引用的本地应用,则用户设备102可以启动该应用并将该应用设置为应用状态。作为另一个示例,如果本地应用没有安装在用户设备102上,则用户设备102可以下载并安装应用(例如,随后启动应用并将应用设置为应用状态)。作为又一示例,如果用户设备102没有足够的存储空间和/或通信网络带宽来下载和/或安装如上所述的本地应用,则用户设备102可启动网络浏览器应用126并访问与应用状态的网络等同物对应的url。

在另外的示例中,搜索系统100可以生成一个或更多个另外的搜索结果(未例示),其包括与本地应用(例如,与本地应用、网站、文档和/或媒体文件有关的内容)的应用状态不相关联的内容。在这些示例中,搜索系统100可以以与上述类似的方式识别存储在包括基于搜索查询134的内容的数据存储器中的一个或更多个记录(例如,应用记录或其他数据结构)。搜索系统100可以从所识别的记录中选择内容,并且与搜索结果138一起将内容传输到用户设备102。

在搜索系统100和内容确定系统108中包括的模块和数据存储器表示可以被包括在这些系统100、108中的特征,如其在本公开中所描述的。例如,搜索模块110、搜索结果生成模块114和搜索数据存储器112可以表示搜索系统100中包括的特征。类似地,内容确定模块116和内容数据存储器118可以表示内容确定系统108中包括的特征。本文描述的模块和数据存储器可以通过电子硬件、软件、固件或其任何组合来实施。作为单独的模块和数据存储器描述的不同特征不暗指模块和数据存储器是否由共同的或单独的电子硬件、软件或固件组件来体现。在一些实施方式中,与本文所描绘的模块和数据存储器相关联的特征通过共同或单独的电子硬件、软件和/或固件组件来实现。

模块和数据存储器可以通过包括一个或更多个处理单元、一个或更多个存储器组件、一个或更多个输入/输出(i/o)组件以及互联组件的电子硬件、软件和/固件组件。互连组件可以被配置为提供处理单元、存储器组件和i/o组件之间的通信。例如,互连组件可以包括被配置成在电子组件之间传输数据的一个或更多个总线。互连组件还可以包括被配置为控制电子组件之间的通信的控制电路(例如,存储器控制器和/或i/o控制器)。

处理单元可以包括一个或更多个中央处理单元(cpu)、图形处理单元(gpu)、数字信号处理单元(dsp)或其他处理单元。处理单元可以被配置为与存储器组件和i/o组件通信。例如,处理单元可以被配置为经由互连组件与存储器组件和i/o组件通信。

存储器组件或存储器可以包括任何易失性或非易失性介质。例如,存储器可以包括电介质、磁介质和/或光介质,诸如随机存取存储器(ram)、只读存储器(rom)、非易失性ram(nvram)、电可擦除可编程rom(eeprom)、闪存、硬盘驱动器(hdd)、固态驱动器(ssd)、磁带驱动器、光存储技术(例如,光盘、数字通用光盘和/或蓝光光盘)或任何其他存储器组件。

存储器组件可以包括(例如,存储)在本文中描述的数据。例如,存储器组件可以包括搜索数据存储器112的应用状态记录148中包括的数据和/或包括内容数据存储器118和api数据存储器122中的任意一个中包括的数据。存储器组件还可以包括可以由处理单元执行的指令。例如,存储器组件可以包括计算机可读指令,所述计算机可读指令在由处理单元执行时使处理单元执行属于本文描述的模块和数据存储器的各种功能。

i/o组件可以指提供与各种不同设备通信的电子硬件、软件和/或固件。例如,i/o组件可以提供其他设备与处理单元和存储器组件之间的通信。在一些示例中,i/o组件被配置为与计算机网络进行通信。例如,i/o组件可以被配置为使用各种不同的物理连接、无线连接和协议在计算机网络上交换数据。i/o组件可以包括网络接口组件(例如,网络接口控制器)、中继器、网桥、网络交换机、路由器和防火墙。在一些示例中,i/o组件包括被配置为与包括显示屏、键盘、指点设备(例如鼠标)、触摸屏、扬声器和麦克风的各种人机界面设备进行通信的硬件、软件和/或固件。在一些示例中,i/o组件包括被配置为与诸如外部存储器(例如,外部hdd)的另外的设备通信的硬件、软件和/或固件。

在一些实施方式中,搜索系统100和/或内容确定系统108是被配置为实施本文描述的技术的一个或更多个计算设备(例如,计算机搜索系统)的系统。换言之,归因于本文描述的模块和数据存储器的特征可以由一个或更多个计算设备来实现。每个计算设备可以包括上述电子硬件、软件和/或固件的任何组合。例如,每个计算设备可以包括上述处理单元、存储器部件、i/o部件和互连组件的任何组合。计算设备还可以包括显示屏、键盘、指点设备(例如鼠标)、触摸屏、扬声器和麦克风的各种人机界面设备。计算设备也可以被配置为与诸如外部存储器(例如,外部hdd)的另外的设备进行通信。

搜索系统100和/或内容确定系统108的计算设备可以被配置为与网络106通信。计算设备也可以被配置为经由计算机网络彼此通信。在一些示例中,计算设备包括被配置为与用户设备102通信(例如,接收搜索查询134和内容信息136并发送搜索结果138)、从数据源104收集数据、索引数据、存储数据并存储其他文档或媒体的一个或更多个服务器计算设备。在一些示例中,计算设备驻留在单个地理位置处的一个或更多个机器内。在其他示例中,计算设备可以分布在多个地理位置。

另外,以上描述的搜索系统100和内容确定系统108的各种实现(例如,使用包括一个或更多个处理单元、存储器组件、i/o组件和互连组件的一个或更多个计算设备)同样适用于如本文所述的用户设备102和api120中的任意一个以及其各个组件。

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