CN107924413A - 分叉搜索 - Google Patents

分叉搜索 Download PDF

Info

Publication number
CN107924413A
CN107924413A CN201680047881.XA CN201680047881A CN107924413A CN 107924413 A CN107924413 A CN 107924413A CN 201680047881 A CN201680047881 A CN 201680047881A CN 107924413 A CN107924413 A CN 107924413A
Authority
CN
China
Prior art keywords
search
application
data processing
processing hardware
inquiry
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
Application number
CN201680047881.XA
Other languages
English (en)
Other versions
CN107924413B (zh
Inventor
埃里克·J·格洛弗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN107924413A publication Critical patent/CN107924413A/zh
Application granted granted Critical
Publication of CN107924413B publication Critical patent/CN107924413B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种方法包括从用户设备接收第一搜索查询并且将所述第一搜索查询从数据处理硬件发送到查询分析系统和第一搜索系统。所述方法包括从所述第一搜索系统接收第一搜索结果并且从所述查询分析系统接收查询信息。所述方法包括从所述数据处理硬件向所述第二搜索系统的所述应用程序接口发送第二搜索查询。所述第二搜索查询基于所述查询信息。所述方法包括从所述第二搜索系统接收第二搜索结果并且确定包括所述第一搜索结果和所述第二搜索结果中的至少一些的结果集合。至少一个搜索结果包括具有到所述用户设备上的对应已安装的应用的引用的应用访问机制。

Description

分叉搜索
相关申请的交叉引用
本申请要求于2015年8月12日提交的美国专利申请No.14/824,862的权益。上面所引用的申请的全部公开内容通过引用并入。
技术领域
本公开涉及通过多个机制来访问来自多个源的搜索结果。
背景技术
近年来,计算机、智能电话和其它连网设备的使用呈指数增长。相应地,用于此类设备的可用软件应用的数量也在增长。现今,可在任何数量的不同设备上访问许多不同的本机和web软件应用,所述设备包括但不限于智能电话、个人计算机、汽车和电视。这些不同的应用可涵盖业务驱动应用、游戏、教育应用、新闻应用、购物应用、消息传送应用、媒体流应用、社交网络应用等。此外,应用开发者在每个流派内开发大量的应用并且每个应用可以具有许多版本。
当前,当在计算机、智能电话或其它连网设备上执行搜索时,主要在搜索服务器上实现搜索。计算机、智能电话或其它连网设备不执行搜索,而是替代地将搜索请求发送到搜索服务器,所述搜索服务器执行搜索并将结果发送到始发设备。由于搜索服务器不可得到一些数据,这种结构已经过时。一些数据仅可以通过与应用编程接口(API)相关联的应用来得到,其中用户设备仅可以通过API来访问信息,因为应用可能需要订阅。
发明内容
本公开提供用于经由不同的机制来访问多个搜索结果源(例如,不同的搜索系统)并且提供包括来自所述多个搜索结果源(例如,所述不同的搜索系统)的搜索结果的结果集合的系统和技术。在一些实施方式中,一种方法包括基于可以包括搜索查询(例如,搜索字符串)、API信息、用户信息或其它信息的信息来为不同的搜索系统生成搜索查询,以及使用相应的搜索查询来查询所述不同的搜索系统。所述方法也可以包括生成结果集合,所述结果集合包括经由所述查询从所述不同的搜索系统中检索到的所述搜索结果中的至少一些。
本公开的一个方面提供一种基于搜索查询来确定结果集合的方法。所述方法包括在数据处理硬件处通过与所述数据处理硬件通信的用户设备来接收第一搜索查询。所述方法也包括将所述第一搜索查询从所述数据处理硬件发送到查询分析系统和第一搜索系统。所述方法也包括在所述数据处理硬件处接收来自所述第一搜索系统的第一搜索结果和来自所述查询分析系统的查询信息。所述查询信息包括第二搜索系统的应用编程接口的应用编程接口信息。所述方法也包括从所述数据处理硬件向所述第二搜索系统的所述应用程序接口发送第二搜索查询。所述第二搜索查询基于所述查询信息。附加地,所述方法包括在所述数据处理硬件处从所述第二搜索系统接收第二搜索结果并且由所述数据处理硬件确定包括所述第一搜索结果和所述第二搜索结果中的至少一些的结果集合。至少一个搜索结果包括具有到所述用户设备上的对应已安装的应用的引用并且指示针对所述对应已安装的应用的可执行操作的应用访问机制。所述方法也包括由所述数据处理硬件将所述结果集合显示在所述屏幕上的用户界面中。
本公开的实施方式可以包括以下可选特征中的一种或多种。在一些实施方式中,所述方法也包括由所述数据处理硬件基于所述查询信息和/或所述第一搜索查询在搜索系统的合集当中识别所述第二搜索系统。附加地,所述方法可以包括由所述数据处理硬件基于所述查询信息和所述第一搜索查询来确定针对所述第二搜索系统的所述第二搜索查询。
在一些示例中,所述方法包括将所述结果集合的每个搜索结果作为用户可选择的链接显示在所述用户界面中。每个搜索结果具有与所对应的用户可选择的链接相关联的关联应用访问机制。所述方法也可以包括在所述数据处理硬件处接收用户对所述用户可选择的链接中的一个的选择,以及在所述数据处理硬件处执行与所选择的用户可选择的链接相关联的所述应用访问机制。所执行的应用访问机制可以与所选择的用户可选择的链接相关联,以及可以启动所述用户设备上的所述对应已安装的应用并且将所述安装的应用设定为由所述应用访问机制指定的应用状态。
所述查询信息可以包括搜索结果显示数据。在一些实施方式中,所述方法也包括由所述数据处理硬件使用所述搜索结果显示数据来为所述第一搜索结果中的每一个和/或所述第二搜索结果中的每一个生成结果分数。所述方法可以进一步包括由所述数据处理硬件基于所对应的结果分数来对所述第一搜索结果和/或所述第二搜索结果进行排名。在一些示例中,所述方法也包括按照基于所对应的结果分数的次序将所述结果集合的所述搜索结果显示在所述用户界面中。
本公开的另一方面提供一种用于基于搜索查询来确定结果集合的系统。所述系统包括数据处理硬件、与所述数据处理硬件通信的屏幕以及与所述数据处理硬件通信的存储器硬件。所述存储器硬件存储指令,所述指令当在所述数据处理硬件上执行时使所述数据处理硬件执行操作。所述操作包括通过与所述数据处理硬件通信的用户设备来接收第一搜索查询。所述操作也包括将所述第一搜索查询从所述数据处理硬件发送到查询分析系统和第一搜索系统。所述操作包括接收来自所述第一搜索系统的第一搜索结果和来自所述查询分析系统的查询信息。所述查询信息包括第二搜索系统的应用编程接口的应用编程接口信息。所述操作也包括从所述数据处理硬件向所述第二搜索系统的所述应用程序接口发送第二搜索查询。所述第二搜索查询基于所述查询信息。所述操作也包括从所述第二搜索系统接收第二搜索结果并且确定结果集合。所述结果集合包括所述第一搜索结果和所述第二搜索结果中的至少一些。至少一个搜索结果包括具有到所述用户设备上的对应已安装的应用的引用并且指示针对所述对应已安装的应用的可执行操作的应用访问机制。所述操作也包括将所述结果集合显示在所述屏幕上的用户界面中。
在一些实施方式中,所述操作进一步包括基于所述查询信息和/或所述第一搜索查询在搜索系统的合集当中识别所述第二搜索系统。所述操作进一步包括基于所述查询信息和所述第一搜索查询来确定针对所述第二搜索系统的所述第二搜索查询。
在一些示例中,所述操作进一步包括将所述结果集合的每个搜索结果作为用户可选择的链接显示在所述用户界面中。每个搜索结果具有与所对应的用户可选择的链接相关联的关联应用访问机制。所述操作可以进一步包括接收用户对所述用户可选择的链接中的一个的选择并且执行与所选择的用户可选择的链接相关联的所述应用访问机制。所执行的与所选择的用户可选择的链接相关联的应用访问机制启动所述用户设备上的对应已安装的应用并且将所述安装的应用设定为由所述应用访问机制指定的应用状态。
所述查询信息可以包括搜索结果显示数据。在一些示例中,所述操作进一步包括使用所述搜索结果显示数据来为所述第一搜索结果中的每一个和/或所述第二搜索结果中的每一个生成结果分数。所述操作进一步包括基于所对应的结果分数来对所述第一搜索结果和/或所述第二搜索结果进行排名。在一些示例中,所述操作进一步包括按照基于所对应的结果分数的次序将所述结果集合的所述搜索结果显示在所述用户界面中。
本公开的又一个方面提供用于基于搜索查询来生成结果集合的另一方法。所述方法包括在数据处理硬件处从与所述数据处理硬件通信的用户设备接收第一搜索查询。所述方法也包括将所述第一搜索查询从所述数据处理硬件发送到查询分析系统和第一搜索系统。所述方法包括在所述数据处理硬件处从所述第一搜索系统接收第一搜索结果并且从所述查询分析系统接收基于所述第一搜索查询的查询信息。所述查询信息包括第二搜索系统的应用编程接口的应用编程接口信息。所述方法包括从所述数据处理硬件向所述第二搜索系统的所述应用程序接口发送第二搜索查询。所述第二搜索查询基于所述查询信息。所述方法包括在所述数据处理硬件处从所述第二搜索系统接收第二搜索结果并且从所述数据处理硬件向所述用户设备发送结果集合。所述结果集合包括在所述用户设备上显示的所述第一搜索结果和所述第二搜索结果中的至少一些。所述至少一个搜索结果包括具有到所述用户设备上的对应已安装的应用的引用并且指示针对所述对应已安装的应用的可执行操作的应用访问机制。
在一些实施方式中,所述方法也包括由所述数据处理硬件基于所述查询信息和/或所述第一搜索查询在搜索系统的合集当中识别所述第二搜索系统。所述方法可以包括由所述数据处理硬件基于所述查询信息和所述第一搜索查询来确定针对所述第二搜索系统的所述第二搜索查询。所述应用访问机制可以被配置为启动所述用户设备上的所述对应已安装的应用并且将所述安装的应用设定为由所述应用访问机制指定的应用状态。
所述查询信息可以包括搜索结果显示数据。所述方法也可以包括由所述数据处理硬件使用所述搜索结果显示数据来为所述第一搜索结果中的每一个和/或所述第二搜索结果中的每一个生成结果分数。附加地,所述方法可以包括由所述数据处理硬件基于所对应的结果分数来对所述第一搜索结果和/或所述第二搜索结果中的每一个进行排名。
本公开的另一方面提供一种用于基于搜索查询来生成结果集合的方法。所述方法包括在数据处理硬件处通过显示在用户设备的屏幕上的用户界面来接收第一搜索查询。所述方法包括将所述第一搜索查询从所述数据处理硬件发送到查询分析系统和第一搜索系统。所述方法进一步包括在所述数据处理硬件处从所述查询分析系统接收查询信息。所述查询信息包括第二搜索系统的应用编程接口的应用编程接口信息。所述方法包括从所述数据处理硬件向所述第二搜索系统的所述应用程序接口发送第二搜索查询,其中所述第二搜索查询基于所述查询信息。所述方法附加地包括在所述数据处理硬件处接收来自所述第一搜索系统的第一搜索结果和来自所述第二搜索系统的第二搜索结果,以及由所述数据处理硬件确定包括所述第一搜索结果和所述第二搜索结果中的至少一些的结果集合。至少一个搜索结果包括具有到所述用户设备上的对应已安装的应用的引用并且指示针对所述对应已安装的应用的可执行操作的应用访问机制。所述方法也包括由所述数据处理硬件将所述结果集合显示在所述屏幕上的所述用户界面中。
在一些示例中,所述查询信息包括以下各项中的至少一种:应用编程接口选择数据,所述应用编程接口选择数据包括与所述第一搜索查询相关联的一个或更多个查询解析;应用编程接口查询数据,所述应用编程接口查询数据包括一个或更多个应用编程接口请求或用于生成所述应用编程接口的指令;或搜索结果显示数据。每个查询解析包括文本字符串、与所述文本字符串相关联的域或与所述域相关联的概率值。在一些示例中,每个应用编程接口请求与针对拼写而校正的、基于实体和/或位置匹配而修改的和/或针对应用编程接口而参数化的所述第一搜索查询的版本相关联。所述数据处理硬件可以是所述用户设备本地的。
在一些示例中,所述方法进一步包括由所述数据处理硬件基于所述查询信息和/或所述第一搜索查询在搜索系统的合集当中识别所述第二搜索系统。所述方法可以包括由所述数据处理硬件基于所述查询信息和所述第一搜索查询来确定针对所述第二搜索系统的所述第二搜索查询。
所述方法可以进一步包括将所述结果集合的每个搜索结果作为用户可选择的链接显示在所述用户界面中,其中每个搜索结果具有与所对应的用户可选择的链接相关联的关联应用访问机制。所述方法可以进一步包括在所述数据处理硬件处接收用户对所述用户可选择的链接中的一个的选择,以及执行硬件,所述应用访问机制与所选择的用户可选择的链接相关联。所执行的与所选择的用户可选择的链接相关联的应用访问机制启动所述用户设备上的所述对应已安装的应用并且将所述安装的应用设定为由所述应用访问机制指定的应用状态。
在一些示例中,所述查询信息包括搜索结果显示数据。所述方法可以包括由所述数据处理硬件使用所述搜索结果显示数据来为所述第一搜索结果中的每一个和/或所述第二搜索结果中的每一个生成结果分数。所述方法可以进一步包括由所述数据处理硬件基于所对应的结果分数来对所述第一搜索结果和/或所述第二搜索结果进行排名。
在以下附图和描述中阐述了本公开的一个或更多个实施方式的细节。其它方面、特征和优点将从说明书和附图中并从权利要求书中显而易见。
附图说明
图1A是包括与查询分析系统、搜索系统和API系统通信的用户设备的示例环境的示意视图。
图1B是具有与用户设备和数据源交互的查询分析系统、搜索系统和API系统的系统的功能框图。
图2A至图2D是与查询分析系统、搜索系统和API系统通信的示例用户设备的示意视图。
图3A是与示例搜索系统通信的示例查询分析系统的示意视图。
图3B是与示例搜索模块通信的示例查询分析系统的示意视图。
图3C是包括查询分析系统的示例搜索模块的示意视图。
图4A和图4B是示例应用状态记录的示意视图。
图5是示例用户设备的示意视图。
图6A是用于使用搜索查询在用户设备处生成搜索结果的方法的操作的示例布置的示意视图。
图6B是用于用户选择显示搜索结果的图形用户界面的用户可选择的链接的方法的操作的示例布置的示意视图。
图7A至图8B是用于在用户设备处生成搜索结果并显示搜索结果的方法的操作的示例布置的示意视图。
图9提供了用于使用查询分析系统来生成与搜索查询相关联的附加信息的方法的操作的示例布置。
图10是用于使用搜索查询在搜索系统处生成搜索结果的方法的操作的示例布置。
图11A是用于基于由用户经由显示器输入的搜索查询在用户设备的显示器上显示搜索结果的方法的操作的示例布置。
图11B是可执行图11A中所例示的方法的示例系统的示意视图。
图12是用于在用户设备的显示器上显示搜索结果的方法的操作的示例布置。
图13是用于在用户设备的显示器上显示搜索结果的方法的操作的示例布置。
图14是包括与查询分析系统、搜索系统、API系统、推荐系统和广告系统通信的用户设备的示例环境的示意视图。
图15是执行本文所描述的任何系统或方法的示例计算设备的示意视图。
在各个附图中相似的附图标记指示相似的元件。
具体实施方式
本公开的系统可以基于从用户设备接收到的查询来实现搜索。用户设备接收经由用户设备的图形用户界面(GUI)输入的查询,并且进而,用户设备将该查询发送到查询分析系统。查询分析系统分析搜索查询以确定请求搜索的用户的可能意图。查询分析系统可以具有比用户设备更大的处理和存储资源,这可以允许查询分析系统更好地分析所接收到的搜索查询。查询分析系统方便通过用附加信息补充搜索查询来使用该查询在用户设备内搜索任何应用程序接口(API)。此外,查询分析模块允许用户设备在安装在用户设备上的应用程序内执行搜索。例如,查询分析系统可以修改和/或参数化所接收到的查询。此外,一旦查询分析系统分析所接收到的查询,本公开的系统就可执行单独的搜索,一个在用户设备处(例如,经由API)并且另一个在搜索系统处。一旦用户设备和搜索系统的搜索完成,用户设备就经由GUI显示可以包括来自用户设备的搜索的结果和/或由搜索系统接收到的结果的搜索结果。
参考图1A,在一些实施方式中,用户设备200从用户10接收搜索查询332。用户设备200可能发现难以在用户设备200处执行搜索,因为用户设备200具有有限的储存器260;因此,用户设备200不能存储和维护所有可能的搜索结果。此外,如果用户设备200将搜索查询332发送到具有比用户设备200更多的存储空间和处理能力的搜索服务器400,则用户设备200可能未能接收到与安装在用户设备200上的应用204有关的搜索结果。因此为了改进用户高效地找到好且相关的搜索结果的能力,可以通过实现与查询分析系统300一起利用搜索系统400的系统100来改进搜索过程。系统100实现两个搜索被并行地执行的分叉搜索:第一搜索由用户设备200执行并且第二搜索由搜索系统400执行。在用户设备200处执行的搜索触发对一个或更多个API500的搜索。查询分析模块300接收搜索查询332并且(通过发送附加信息340)通知用户设备200以执行用户设备搜索。搜索系统400(从用户设备200和/或查询分析系统300)接收搜索查询332并执行搜索系统搜索。用户设备搜索输出API搜索结果540(图2A),同时搜索系统400搜索输出搜索系统搜索结果440(图2A)。用户设备200接收两个搜索结果440、540,并经由GUI 230显示经组合的搜索结果440、540。因此,期望实现执行高效地搜索搜索系统400和用户设备200两者的分叉搜索的系统,然后系统100组合所执行的搜索中的每一个的结果。
图1A例示了示例系统100,所述示例系统100包括与经由网络120与远程系统110通信的用户10相关联的用户设备200。图1B提供了系统100的功能框图。远程系统110可以是具有可伸缩/弹性计算资源112和/或存储资源114的分布式系统(例如,云环境)。用户设备200和/或远程系统110可以实现一个或更多个查询分析系统300和一个或更多个搜索系统400,其中每个系统300、400可选地从一个或更多个数据源130接收数据。在一些实施方式中,查询分析系统300经由网络120与搜索系统400、一个或更多个用户设备200和数据源进行通信。网络120可以包括各种类型的网络,诸如局域网(LAN)、广域网(WAN)和/或互联网。如图所示并如将讨论的,查询分析系统300和搜索系统400是单独的模块400。然而,在其它实施方式中,查询分析系统300和搜索系统400是执行单独的功能的一个系统(如将在下面所描述的)。在一些示例中,查询分析系统300物理地位于搜索系统400周围或附近,使得两者之间的通信时间被保持最小。查询分析系统300可以是搜索系统400的一部分,并且在其它示例中,搜索系统400是查询分析系统300的一部分。
系统100可以包括经由网络120彼此通信的数据源130、一个或更多个用户设备200、查询分析系统300、搜索系统400和一个或更多个API 500(例如,与安装在用户设备200上的一个或更多个应用相关联的服务器和/或数据存储器)。查询分析模块300包括与查询分析数据存储器320通信的查询分析模块310。查询分析模块310生成与从用户设备200接收到的搜索查询332相关联的附加信息340(图2A)。查询分析模块310将附加信息340发送到用户设备200。用户设备200使用附加信息340和搜索查询332来生成API搜索结果540。用户设备200通过查询与被安装在用户设备200上的应用204(即,被存储在用户设备200上的应用204)相关联的API 500来生成API搜索结果540。API搜索结果540可以对应于与API 500相关联的应用204的应用状态。每个API 500访问应用204、操作系统224或搜索应用216内的功能或信息。系统100也包括搜索系统400,所述搜索系统400包括搜索模块410、搜索结果生成模块420和搜索数据存储器430。搜索数据存储器430存储应用状态记录450。搜索系统400(从用户设备200和/或查询分析系统300)接收搜索查询332和附加信息340,并且生成搜索系统结果440。搜索系统结果440基于所接收到的搜索查询332(和/或查询包装器)、附加信息340以及存储在搜索数据存储器430中的应用状态记录450。如将在下面说明的,每个应用状态记录450包括与应用204的功能有关的数据和/或由与应用状态相关联的功能的执行产生的应用204的应用状态。搜索系统400可以使用数据源130来生成应用状态记录450并且将该记录存储在搜索数据存储器430中。参考图4A和图4B对示例应用状态记录450进行描述。此外,系统100包括存储在一个或更多个API数据存储器510中的一个或更多个API 500。
数据源130、130a-f可以是搜索系统400(例如,搜索模块410)可以使用来生成并更新数据存储器320的数据源。此外,查询分析系统300(例如,查询分析模块)也使用数据源130来更新查询分析数据存储器320。从数据源130中检索到的数据可包括与应用功能性和/或应用状态有关的任何类型的数据。从数据源130中检索到的数据可以用于创建和/或更新包括在数据存储器320中的一个或更多个数据库、索引、表(例如,访问表)、文件或其它数据结构。例如,可以基于从数据源130中检索到的数据来创建和更新应用状态记录450。在一些示例中,包括在数据源130中的一些数据由人类操作员手动地生成。可以随着时间的推移而更新包括在应用状态记录450中的数据,使得搜索系统400提供最新的结果。
数据源130可以包括各种不同的数据提供者。数据源130可以包括来自应用开发者130a的数据,诸如应用开发者的网站和由开发者提供的数据馈源。数据源130可以包括被配置为将本机应用204a分发给用户设备200的数字分发平台130b的运营商。示例数字分发平台130b包括但不限于Google公司的数字分发平台、苹果公司的APP数字分发平台和由微软公司开发的WINDOWSStore。
数据源130也可以包括其它网站,诸如包括web日志130c(即,博客)、应用评论网站130d或包括与应用204有关的数据的其它网站。附加地,数据源130可以包括社交网络网站130e,诸如Facebook公司的(例如,Facebook帖子)和Twitter公司的(例如,来自推文的文本)。数据源130也可以包括在线数据库130f,所述在线数据库130f包括但不限于与电影、电视节目、音乐和餐馆有关的数据。数据源130除了包括上述的数据源之外还可以包括附加类型的数据源。不同的数据源130可以具有它们自己的内容和更新速率。
搜索系统400和/或查询分析系统300从一个或更多个数据源130中检索数据。从数据源130中检索到的数据可以包括与应用功能性和/或应用状态有关的任何类型的数据。搜索系统400基于从数据源130中检索到的数据来生成应用状态记录450。在一些示例中,人类操作员手动地生成包括在应用状态记录450中的一些数据。搜索系统400可以随着时间的推移而更新包括在应用状态记录450中的数据,使得搜索系统400提供最新的搜索系统搜索结果440。
API 500通常是用于构建软件应用(诸如本机应用204a或web应用204b)的一组例程、协议和工具。API 500提供第一应用204与第二应用204的功能性之间的接口,所述接口增加第一应用204的功能性。API 500在其操作、输入、输出和底层类型方面表示软件组件。API 500定义独立于其相应的实施方式的功能性,这允许定义和实施方式在不损害接口或GUI接口230的情况下变化。例如,API 500提供用于使第一应用204访问第二应用204的功能性的构件。因此,第一应用204的编程人员使用该构件来访问第二应用204的功能性。在一些示例中,API 500将第二应用204的特征和功能性集成到第一应用204中,并且改进第一应用204的功能性。
参考图1A至图2D,用户设备200可以是能够向查询分析系统300和/或搜索系统400提供查询330、332的任何计算设备。用户设备200包括但不限于移动计算设备,诸如膝上型电脑200a、平板200b、智能电话200c和可穿戴计算设备200d(例如,头戴式耳机和/或手表)。用户设备200也可以包括具有其它形状因数的其它计算设备,诸如包括在台式计算机200e、车辆、游戏设备、电视或其它电器(例如,联网的家庭自动化设备和家用电器)中的计算设备。
用户设备200可以使用各种不同的操作系统224。在用户设备200是移动设备的示例中,用户设备200可以运行包括但不限于由谷歌公司开发的由苹果公司开发的或由微软公司开发的WINDOWS的操作系统224。因此,在用户设备200上运行的操作系统224可以包括但不限于或WINDOWS中的一种。在用户设备200是膝上型电脑200a或台式计算设备200e的示例中,用户设备200可以运行包括但不限于微软公司的MICROSOFT苹果公司的或Linux的操作系统224。用户设备200也可以在运行除了上述的那些操作系统224以外的操作系统224(无论是目前可用的还是将来开发的)的同时访问查询分析系统300和/或搜索系统400。
软件应用204可以指代当由计算设备执行时使该计算设备执行任务的计算机软件。在一些示例中,软件应用204可以被称为“应用”、“app”或“程序”。示例软件应用204包括但不限于字处理应用、电子表格应用、消息传送应用、媒体流应用、社交网络应用和游戏。
可以在各种不同的用户设备200上执行应用204。在一些示例中,本机应用204a在用户10购买用户设备200之前被安装在用户设备200上。在其它示例中,用户10可以在用户设备200上下载并安装本机应用204a。
可以在上面安装有应用204的计算设备200上访问应用204的功能性。附加地或可替代地,可以经由远程计算设备112访问应用204的功能性。在一些示例中,应用的功能性中的全部被包括在上面安装有应用204的计算设备112、200上。这些应用204可以在不用与其它计算设备112、200通信(例如,经由互联网)的情况下起作用。在其它示例中,安装在计算设备200上的应用204可以在操作期间访问来自其它远程计算设备112的信息。例如,安装在计算设备200上的天气应用可以经由互联网访问最新的天气信息并且通过所安装的天气应用204来将所访问的天气信息显示给用户10。可以通过使用API 500来完成此访问。在仍然其它的示例中,基于web的应用204b(在本文中也被称为web应用204b)可以由用户的计算设备200部分地执行并且由远程计算设备112部分地执行。可以通过使用API 500在用户设备200与远程计算设备112之间完成部分执行。例如,web应用204b可以是至少部分地由web服务器执行并且由用户的计算设备200的web浏览器(例如,本机应用204a)访问的应用204。Web浏览器204b可以访问与web应用204b相关联的API 500。示例web应用204b可以包括但不限于基于web的电子邮件、在线拍卖和在线零售站点。
一般而言,用户设备200可以使用可向搜索系统400发送搜索查询332的任何软件应用204来与搜索系统400进行通信。在一些示例中,用户设备200运行专用于与搜索系统400对接的本机应用204a,诸如专用于搜索的本机应用204a(例如,搜索应用216)。在一些示例中,用户设备200使用更一般应用204(诸如使用web浏览器本机应用204a访问的web浏览器应用204b)来与搜索系统400进行通信。尽管用户设备200可以使用本机搜索应用216和/或web浏览器应用204b来与搜索系统400进行通信,然而用户设备200可以在下文中被描述为使用本机搜索应用216来与查询分析系统和/或搜索系统400进行通信。在一些实施方式中,归因于搜索应用216的功能性(其包括与搜索系统400的搜索并行地执行查询分析系统300的搜索)可以作为具有附加功能性的较大应用204的搜索组件被包括。例如,归因于搜索应用216的功能性可以作为提供搜索能力的特征作为本机应用204a或web应用204b的一部分被包括。
参考图2A,在一些实施方式中,用户设备200经由图形用户界面(GUI)230从用户10接收搜索查询332。可以包括文本、数字和/或符号(例如,标点符号)的搜索查询332由用户10键入到用户设备200中。例如,用户10可以将搜索查询332键入到在用户设备200上运行的搜索应用216的GUI230的搜索字段206(例如,搜索框)中。在一些示例中,用户10选择搜索按钮208以发起对搜索的执行。用户10可以使用触摸屏键区、机械键区、语音到文本程序或其它形式的用户输入来键入搜索查询332。一般而言,搜索查询332可以是来自搜索系统400的对信息检索(例如,搜索结果)的请求。例如,在搜索系统400被配置为生成访问机制202的列表作为搜索结果440、540的示例中搜索查询332可以致力于检索到对应用功能性或应用状态的链接250的列表251。致力于检索到对应用功能性的链接250的列表的搜索查询332可以指示用户期望访问通过搜索查询332所描述的一个或更多个应用204的功能性。
在一些示例中,搜索查询332被包括在查询包装器330中。查询包装器330可以包括附加数据以及搜索查询332。例如,查询包装器330可以包括指示用户设备200的位置的地理位置数据,诸如纬度和经度坐标。用户设备200可以包括生成在查询包装器330中发送的地理位置数据334的全球定位系统(GPS)接收器。查询包装器330也可以包括IP地址338,搜索模块410可以使用所述IP地址来确定用户设备200的位置。在一些示例中,查询包装器330也包括附加数据,包括但不限于平台数据336(例如,操作系统224的版本、设备类型和web浏览器版本)、用户设备200的用户的身份(例如,用户名)、伙伴特定数据和其它数据。
查询分析系统300接收搜索查询332(被包括在查询包装器330中)并且分析所接收到的搜索查询332以生成与搜索查询332相关联的附加信息340。一旦被生成,查询分析系统300就将该附加信息发送到用户设备200。附加信息340可以包括API选择数据342、API查询数据344和搜索结果显示数据346中的一种或多种。
API选择数据342使得用户设备200能够选择可经由用户设备200访问的API 500中的一个或更多个以使用搜索查询332来查询。在一些示例中,API选择数据342包括与搜索查询332相关联的一个或更多个查询解析。每个查询解析可以包括文本字符串(例如,搜索查询332的一个或更多个字符和/或项)、与该文本字符串相关联的域和与该域相关联的概率值(例如,该域与该文本字符串正确地相关联的置信度的指示)。域可以指示文本字符串是否描述特定类型的业务、产品、服务、位置等。例如,查询分析系统300可以通过使文本字符串与同样与域相关联的实体相匹配来使文本字符串与该域相关联(例如,实体可以与可以对应于域的动作相关联)。以这种方式,搜索查询332的查询解析可以表示搜索查询332的一个或更多个解释或者其可能的意图的指示,其中,所述意图使得用户设备200和搜索系统400使用搜索查询332能够更好地将它们相应的搜索聚焦于应用状态或应用状态记录450。具体地,用户设备200可以使用域和概率值来选择可经由用户设备200访问的API 500中的一个或更多个(例如,子集)(例如,选择与最可能的域匹配的API 500),并且使用搜索查询332(例如,使用运用该查询所生成的API请求532,如下所述)来查询所选择的API 500。类似地,搜索系统400可以使用搜索查询332来查询搜索数据存储器430,以及在一些示例中,使用域和概率值来查询搜索数据存储器430。在一些示例中,API选择数据342指示一个或更多个域,而在附加示例中,在没有任何查询解析的情况下指示与搜索查询332相关联的对应概率值(例如,主题向量)。域和概率值可以类似地规定API 500中的哪些被用户设备200查询和/或搜索数据存储器430的哪些应用状态记录450由搜索系统400使用搜索查询332来识别。作为另一示例,在查询分析系统300知道可经由用户设备200访问的API 500的情况下,API选择数据342可以显式地指示API 500中的哪些应当由用户设备200使用搜索查询332来查询。
在一些实施方式中,附加信息340包括使得用户设备200能够使用搜索查询332来查询可经由用户设备200访问的一个或更多个API 500。API查询数据344可以包括一个或更多个API请求532或用于生成API请求532的指令。每个API请求532可以对应于针对拼写而校正的、基于实体和/或位置匹配而修改的和/或针对特定API查询接口而参数化的搜索查询332的版本(例如,查询重写)。如本文同样所描述的,API请求532可以由查询分析系统300生成并且被包括在API查询数据344中,或者由用户设备200使用从查询分析系统300接收到的API查询数据344来生成。用户设备200可以将API请求532发送到可经由用户设备200访问的一个或更多个API 500以使用搜索查询332来查询API 500。
在附加实施方式中,附加信息340包括这样的搜索结果显示数据346,所述搜索结果显示数据346使得用户设备200能够将API 500和搜索系统搜索结果440、540作为一个或更多个用户可选择的链接250显示给用户10。在一些示例中,搜索结果显示数据346包括与先前所描述的查询解析和/或域相关联的概率值。可以使用概率值来既指导如上所述的对可经由用户设备200访问的API 500的选择,又指导对通过查询所选择的API 500而生成的API搜索结果540进行评分和排名以用于显示结果。在一个示例中,概率值可以被用作API搜索结果540的结果分数542(例如,与用于选择特定API 500的域相关联的概率值可以被用作从API 500接收到的API搜索结果540的结果分数,或者影响从API 500接收到的API搜索结果540的结果分数的生成)。作为另一示例,概率值可以被用作“权重”来生成结果分数542(例如,使用连同API搜索结果540一起从所选择的API 500接收到的其它数据,诸如与结果相关联的流行度评级或其它排名度量)。在这些示例中,搜索系统搜索结果440也可以包括相关联的结果分数442。搜索结果显示数据346可以直接指示用户设备200应当如何显示API搜索结果540和搜索系统搜索结果440(例如,随机地、按照从所选择的API 500和搜索系统400接收的顺序、通过API 500或搜索系统400起源来分组并在每个组内排名,或者使用相关联的结果分数542、442来组合)。
查询分析系统300将附加信息340发送到用户设备200(图2B),或者发送到用户设备200和搜索系统400两者(图2C和图2D)。在一些示例中,在查询分析系统300是搜索系统400的一部分的情况下,附加信息340容易地可被搜索系统400得到(例如,由查询分析系统300转发给搜索系统400)。在这些示例中,搜索查询332(和查询包装器330)也可能可被搜索系统400得到(例如,由查询分析系统300转发给搜索系统400)(图2C)。在其它示例中,搜索系统400可以从用户设备200接收搜索查询332(图2C和图2D)。
当用户设备200接收到附加信息340时,搜索系统400执行对搜索数据存储器430的搜索并且用户设备200执行对API 500(即,与在用户设备200上下载的应用204上相关联的API 500)的搜索,其中两个搜索均基于搜索查询332。在一些实施方式中,用户设备200向一个或更多个API 500发送与每个API 500相关联的API查询包装器530,所述API查询包装器530包括API请求532、订阅数据534、地理位置数据334、平台数据336和IP地址338。API请求532是访问特定API 500或者生成可由用户设备200访问的API 500的列表的请求。订阅数据534包括使对用户设备200可以订阅的API的订阅与用于访问基于订阅的服务的访问机制相关的数据。地理位置数据334可以包括用户设备200的位置,诸如纬度和经度坐标。平台数据336是与使用中的特定软件平台和/或用户设备200的类型有关的信息(例如,操作系统224的版本、设备类型和web浏览器版本)。IP地址338是与查询分析系统300和/或搜索系统400通信的特定用户设备200的通信地址。例如,应用可以包括用于访问搜索特定位置的API 500,所述搜索特定位置仅可以由处于该位置中的用户设备200访问。通过用户设备200访问的API 500的其它示例是需要付费订阅的应用204,诸如某些新闻应用204。API查询包装器530允许特定API 500被访问并返回API搜索结果540。API搜索结果540可以基于它们的搜索结果分数542与搜索系统搜索结果440包括在一起。
API 500包括与安装在用户设备200上的应用204相关联的一个或更多个API500a-500n。一个或更多个API 500从用户设备200接收API查询包装器530。如先前所讨论的,API查询包装器530包括一个或更多个API请求532、订阅数据534、地理位置数据334、平台数据336和IP地址338。在一些示例中,API搜索结果540包括访问机制202、结果分数442以及要由用户设备200使用来提供相关搜索结果的链接数据444。
因此,两个并行搜索的执行允许系统100执行对搜索系统400和API 500两者的并行搜索,从而允许用户设备200接收搜索系统搜索结果440和API搜索结果540并且将经组合的结果440、540显示给用户设备200。系统100提供对于提供通过搜索查询332所指定的功能性的应用状态的更全面搜索,这导致与搜索查询332且与用户10更相关的搜索结果440、540。此外,并行搜索允许系统100访问搜索结果440、540,具体地为可仅通过用户设备200(例如,经由安装的应用程序和/或订阅服务)访问的API搜索结果540。结果,可以在搜索期间揭露不可使用传统的基于服务器的搜索技术访问的信息(例如,实时数据或可通过查询API排他地得到的其它数据)。
搜索系统400可以基于包括从用户设备200接收到的搜索准则的搜索查询332(被包括在搜索查询包装器330中)来实现搜索。搜索系统400响应于所接收到的搜索查询332而生成搜索系统搜索结果440并且将搜索系统搜索结果440发送到用户设备200。搜索系统搜索结果440包括用于访问应用204的各种访问机制202或与用户10的搜索查询332相关的应用204的功能性。响应于对访问机制202的选择,用户设备200可以启动在应用访问机制202中引用的应用204并且执行在应用访问机制202中指示的一个或更多个操作。搜索系统400可以包括查询分析系统300。
在一些实施方式中,搜索系统400包括与搜索结果生成模块320和搜索数据存储器430通信的搜索模块410。搜索数据存储器430可以包括可以用于实现本公开的技术的一个或更多个数据库、索引(例如,倒排索引)、表、文件或其它数据结构。搜索模块410接收搜索查询包装器330并且基于包括在数据存储器430中的数据来生成搜索系统搜索结果440。在一些实施方式中,搜索模块410从用户设备200或从查询分析系统300接收查询包装器330并且基于包括在查询包装器330中的数据(诸如搜索查询332)来执行对于包括在搜索数据存储器430中的应用状态记录450的搜索。应用状态记录450包括用户设备200可使用来访问各种不同应用(诸如安装在用户设备200上的本机应用204a)的不同功能的一个或更多个访问机制202。搜索模块410将包括访问机制202的列表的搜索结果440、540发送到生成了搜索查询包装器330的用户设备200。
用户设备200从查询分析系统300接收附加信息340并且生成一个或更多个API搜索结果540(即,显示的搜索结果250)。如下所述,每个显示的API搜索结果250包括基于搜索查询332和附加信息340(例如,API选择数据342和API查询数据344)的一个或更多个访问机制202(例如,应用访问机制)。API搜索结果540可以作为用户可选择的链接250(显示的API搜索结果250)被显示。并行地,搜索系统400也接收搜索查询332,并且在一些示例中,从一个或更多个用户设备200和查询分析系统300接收附加信息340。搜索系统400然后使用搜索查询332和附加信息340来生成包括一个或更多个应用访问机制202a、web访问机制202b和/或下载机制202c的一个或更多个搜索系统搜索结果440。搜索系统400将搜索系统搜索结果440发送到用户设备200。因此,所显示的搜索结果250包括搜索系统搜索结果440和API搜索结果540。
用户设备200从搜索系统400接收搜索系统搜索结果440并且将API搜索结果540和搜索系统搜索结果440作为一个或更多个用户可选择的链接250显示给用户10。在一些示例中,用户设备200使用附加信息340(例如,搜索结果显示数据346)来显示API搜索结果540和搜索系统搜索结果440。每个用户可选择的链接250均包括包含在API搜索结果540和搜索系统搜索结果440中的访问机制202中的一种,以及例如也作为搜索结果440、540的一部分接收到的链接数据444、544。搜索系统搜索结果440和API搜索结果540可以返回与特定链接数据444、544相关联的访问机制202。用户设备200使用链接数据444、544来生成并显示与搜索结果440、540中的每一个相关联的用户可选择的链接250。在用户选择用户可选择的链接250时,web问机制202可以指导用户设备200打开应用程序的状态。
一旦API 500执行搜索并将API搜索结果540发送到用户设备200以及搜索系统400执行对其数据库430的搜索并将搜索系统搜索结果440发送到用户设备200,用户设备200就基于所接收到的搜索结果440、540来生成用户可选择的链接250。API搜索结果540是与安装在用户设备200上的本机应用204a相关联的结果,然而搜索系统搜索结果440包括可以不与安装在用户设备200上的本机应用204a相关联的结果。由用户设备200从搜索系统400和API500接收到的搜索结果440、540减少执行搜索所需要的处理量、数据存储资源和时间。例如,通过使得查询分析系统300能够在用户设备200和搜索系统400使用搜索查询332来执行它们相应的搜索之前分析搜索查询332(即,生成与搜索查询332相关联的附加信息340),搜索可以被更好地集中并且因此使用更少的处理和数据存储资源及更少的时间。具体地,使用搜索查询332和附加信息340(例如,API选择数据342),用户设备200可以查询它将使用搜索查询332来以其它方式查询的API 500的子集。附加地,使用附加信息340(例如,API查询数据344),与单独使用搜索查询332相比用户设备200可以以更定制的(例如,特定或结构化)方式查询API 500的子集,从而再次产生更集中且高效的搜索。类似地,使用附加信息340(例如,域和概率值),搜索系统400可以搜索它将使用搜索查询332来以其它方式搜索的应用状态记录450的子集。作为另一示例,通过使得用户设备200和搜索系统400能够单独地(例如,并行地)执行它们相应的搜索,这些技术可以使得能够在更少的时间内执行总体搜索。
用户设备200基于所接收到的搜索结果440、540来生成用户可选择的链接250(例如,图2A的链接250a、250b、250c)。向用户10显示的每个用户可选择的链接250可以包括访问机制202。用户10可以在用户设备200上通过与链接250交互(例如,触摸或点击该链接)来选择用户可选择的链接250。响应于对链接250的选择,用户设备200可以启动由访问机制202引用的对应软件应用204(例如,本机应用204a(API搜索结果540)或web浏览器应用204b(搜索系统搜索结果440))并且执行在访问机制202中指示的一个或更多个操作。
访问机制202可以包括本机应用访问机制202a(在下文中被称为“应用访问机制”)、web访问机制202b和应用下载机制202c中的至少一种。用户设备200可以使用访问机制202来访问应用204的功能性。例如,用户10可以选择包括访问机制202的用户可选择的链接250以便访问在用户可选择的链接250中指示的应用204的功能性。搜索模块410可以在搜索结果440、540中向用户设备200发送一个或更多个应用访问机制202a、一个或更多个web访问机制202b和一个或更多个应用下载机制202c。
应用访问机制202a可以是包括对本机应用204a的引用的字符串并且指示用户设备200要执行的一个或更多个操作。如果用户10选择包括应用访问机制202a的用户可选择的链接250,则用户设备200可以启动在该应用访问机制202a中引用的本机应用204a并且执行在该应用访问机制202a中指示的一个或更多个操作。
应用访问机制202a包括用户设备200可使用来访问由本机应用204a提供的功能性的数据。例如,应用访问机制202a可包括使用户设备200启动本机应用204a并执行与本机应用204a相关联的功能的数据。根据访问机制202执行功能可以将本机应用204a设定为指定状态。因此,启动本机应用204a并根据应用访问机制202a执行功能的过程在本文中可以被称为启动本机应用204a并将本机应用204a设定成由应用访问机制202a指定的状态。在一些示例中,用于餐馆预订应用的应用访问机制202a可包括使用户设备200启动餐馆预订应用并协助对餐馆进行预订的数据。在此类示例中,可以将餐馆预订应用设定在向用户10显示预订信息(诸如预订时间、餐馆的描述和用户评论)的状态下。在附加示例中,用于互联网媒体播放器应用的应用访问机制202a可包括使用户设备200启动互联网媒体播放器应用并且对来自互联网的媒体进行流传输的数据。在此类示例中,可以将互联网媒体播放器应用设定在显示有关正在流传输的媒体(例如,音乐)的信息(诸如歌曲名称、艺术家或专辑名称)的状态下。
应用访问机制202a可以具有各种不同的格式和内容。应用访问机制202a的格式和内容可以取决于与应用访问机制202相关联的本机应用204a以及将由本机应用204a响应于对应用访问机制202a的选择而执行的操作。例如,用于互联网音乐播放器应用的应用访问机制202a可以不同于用于购物应用的应用访问机制202a。例如,用于互联网音乐播放器应用的应用访问机制202a可以包括对音乐艺术家、歌曲和专辑的引用。用于互联网音乐播放器应用的应用访问机制202a也可以引用操作,诸如使歌曲的列表随机化并播放歌曲或专辑。用于购物应用的应用访问机制202a可以包括对待售的不同产品的引用。用于购物应用的应用访问机制202a也可以包括对一个或更多个操作(诸如将产品添加到购物车并进行到结账)的引用。
搜索系统400和/或API 500可以在搜索结果440、540中连同应用访问机制202a一起发送附加数据。例如,搜索系统400和/或API 500可以发送这样的数据(例如,文本和/或图像),所述数据可以由用户设备200使用来在搜索结果440、540中生成用户可选择的链接250。链接250可以包括用户10可以经由显示在用户设备200的显示器201(例如,显示器或触摸屏)上的用户界面230来选择(例如,触摸)的文本和/或图像。每个用户可选择的链接250可以与应用访问机制202a相关联,使得当用户10选择链接250时,用户设备200启动在应用访问机制202a中引用的本机应用204a并且执行在应用访问机制202a中指示的一个或更多个操作。向用户10显示的链接250的文本和/或图像可以指示将响应于对链接250的选择而被执行的操作。例如,如果链接250是到音乐播放应用中的歌曲,则文本和/或图像可以识别将由用户设备200启动的音乐应用以及当用户10选择链接250时将由该音乐播放应用播放的歌曲。
GUI 230可以包括指示应用204a是否当前被安装在用户设备200上的指示器或图标209。指示器或图标209可以指示本机应用204a是否被安装并准备好供由用户10访问,或者应用204是否尚未被安装,因此不能被用户10访问,而是可以被下载到用户设备200。例如,“打开”图标209a可以指示本机应用204a被安装在用户设备200上,并且用户可以选择(例如,触摸)“打开”图标209a以打开所安装的本机应用204a。
“免费”或“下载”图标209b可以指示应用204a当前未被安装在用户设备200上;然而,用户10可以选择“免费”或“下载”图标209b来启动数字分发平台130b,诸如提供本机应用204a以供下载或者自动地开始将本机应用204a下载到用户设备200的应用市场。示出本机应用204a的安装和/或可访问性的各种状态的其它指示器或图标209也是可能的。
用户10可以选择使用户设备200启动链接250中识别的本机应用204a的链接250并且根据与链接250相关联的应用访问机制202a来执行一个或更多个操作。换句话说,当用户10选择链接250时,用户设备200启动本机应用204a并且将本机应用204a设定成由与链接250相关联的应用访问机制202a所定义的状态。一般而言,本机应用204a的状态可以指代本机应用204a响应于对链接250的选择的操作和/或产生的结果。本机应用204a的状态在本文中也可以被称为“应用状态”。
由应用访问机制202a指定的应用状态可以取决于由本机应用204a提供的功能性。例如,如果本机应用204a被配置为检索和显示来自互联网的信息,则可将本机应用204a设定成本机应用204a从互联网中检索信息并向用户10显示信息的状态。在另一示例中,如果本机应用204a被配置为播放来自互联网的媒体(例如,音乐和/或视频),则可将本机应用204a设定成本机应用204a正在播放来自互联网的歌曲或电影的状态。在另一示例中,如果本机应用204a被配置为进行餐馆预订,则可将本机应用204a设定成本机应用204a向用户10显示可用餐馆预订的状态。
Web访问机制202b可以包括资源标识符,所述资源标识符包括对web资源(例如,web应用/网站的页面)的引用。例如,web访问机制202b可以包括与超文本传送协议(HTTP)一起使用的统一资源定位符(URL)(即,web地址)。如果用户10选择包括web访问机制202b的用户可选择的链接250,则用户设备200可以启动web浏览器应用204b并检索该资源标识符中指示的web资源。换句话说,如果用户10选择包括web访问机制202b的用户可选择的链接250,则用户设备200可启动对应的web浏览器应用204b并访问web应用/网站的状态(例如,页面)。在一些示例中,web访问机制202b包括移动优化站点和/或全站点的URL。
包括在应用状态记录450中的web访问机制202b可以由web浏览器使用来访问包括类似信息的web资源并且/或者执行如将由接收应用状态记录450的应用访问机制202a的本机应用204a所执行的类似功能。例如,应用状态记录450的web访问机制202b可以将用户设备200的web浏览器应用204b引导到在应用状态记录450的应用访问机制202a中引用的本机应用204a的web版本。此外,如果用于特定墨西哥餐馆的包括在应用状态记录450中的应用访问机制202使每个应用版本检索该特定墨西哥餐馆的信息,则web访问机制202b可以将用户设备200的web浏览器应用204b引导到该特定墨西哥餐馆的web页条目。
应用下载机制202c可以指示可在本机应用204a未被安装在用户设备200上的场景中下载本机应用204a的位置(例如,数字分发平台130b)。如果用户10选择包括应用下载机制202a的用户可选择的链接250,则用户设备200可以访问可以从其下载所引用的本机应用204a的数字分发平台。用户设备200可以使用web浏览器应用204b和本机应用204a中的一个中的至少一种来访问数字分发平台130b。
搜索模块410和/或API 500可以使用搜索查询332、包括在搜索查询包装器330中的附加数据和附加信息340来生成搜索结果440、540。例如,搜索模块410确定用户设备200的地理位置,其中,搜索模块410可连同搜索查询332一起使用用户设备200的地理位置来生成搜索结果440、540。搜索模块410和/或API 500可基于包括在搜索查询包装器330中的地理位置数据334或其它数据(例如,IP地址338)来确定用户设备200的地理位置。在一些实施方式中,搜索模块410检测在搜索查询332中指定的位置(例如,邮政地址、街道名称、城市名称等)(即,查询指定的位置)。在这些实施方式中,搜索模块410可连同搜索查询332一起使用查询指定的位置来生成搜索系统搜索结果440。
搜索模块410响应于所接收到的搜索查询包装器330(例如,响应于搜索查询332和地理位置数据334)和/或附加信息340而执行对于包括在搜索数据存储器430中的应用状态记录450的搜索。在一些实施方式中,搜索模块410生成在搜索期间识别的应用状态记录450的结果分数442。与应用状态记录450相关联的结果分数442可以指示应用状态记录450与搜索查询332的相关性。较高的结果分数442可以指示应用状态记录450与搜索查询332更相关。搜索模块410可以从已评分的应用状态记录450中检索访问机制202。搜索模块410可将结果分数442连同从已评分的应用状态记录450中检索到的访问机制202一起发送,以便指示访问机制202在其它发送的访问机制202当中的排名。
包括在应用状态记录450中的应用访问机制202a可以是应用资源标识符或包括对本机应用204a的引用并且/或者指示由用户设备200上的本机应用204a执行的一个或更多个操作的字符串。在一些示例中应用资源标识符是具有应用特定方案的字符串。例如,应用资源标识符可以包括对本机应用204a的引用、域名以及要由本机应用204a使用来检索并向用户10显示信息的路径。在一些示例中,应用资源标识符是由应用204的开发者定义的应用特定资源标识符。在此示例中,搜索应用216接收应用资源标识符并且操作系统224可以将该应用资源标识符发送到在该应用资源标识符中引用的本机应用204a。在应用资源标识符中引用的本机应用204a启动并被设定成通过该应用资源标识符所指定的状态。
在一些示例中,应用访问机制202a除了包括在应用资源标识符中指示的操作之外还包括用户设备200要执行的操作。例如,用户设备200上的搜索应用216、操作系统224和/或本机应用204a可以执行包括在应用访问机制202a中的操作。在一些示例中,脚本包括这些操作。操作的示例可以包括但不限于启动本机应用204a、创建搜索请求332并(经由搜索包装器330)将它发送到应用服务器、在本机应用204a中设定当前地理位置、进行餐馆预订、发送文本消息以及将约会添加到日历。
在一些示例中,应用访问机制202a不包括应用资源标识符。替代地,应用访问机制202a包括引用原生应用204a并指示由用户设备200执行的一个或更多个操作的一个或更多个操作。所述一个或更多个操作可以包括针对用户设备200上的搜索应用216、操作系统224和/或本机应用204a中的至少一个的指令。响应于对应用访问机制202a的选择,用户设备200可以执行包括在应用访问机制202a中的操作。在一些示例中,这些操作被包括在脚本中。
在一些示例中,不可使用应用资源标识符访问应用功能。例如,应用的功能可以不包括应用204可以使用来执行该功能的对应的应用资源标识符。作为另一示例,一些应用204可能未被配置为接收应用资源标识符。在这些示例中,用于本机应用204a的应用访问机制202可包括使本机应用执行不可以使用应用资源标识符以其它方式访问的功能的一个或更多个操作。例如,搜索应用216可以接收所述一个或更多个操作并执行所述一个或更多个操作以将本机应用204a设定成所期望的应用状态。在一些示例中,所述一个或更多个操作包括启动本机应用204a以及本机应用204a要执行的附加操作。例如,搜索应用216可以最初触发本机应用204a以启动并然后等待一段时间以便本机应用204a启动。然后搜索应用216可以执行包括在所接收到的应用访问机制202中的附加操作,诸如向本机应用204a发出搜索指令。
在仍然其它的示例中,本机应用204a可以被配置为直接接收由系统100发送的操作。在这些示例中,可以根据应用访问机制202来启动本机应用204a,然后经启动的本机应用204a可以直接执行从系统100接收到的操作。
单个本机应用204a可提供各种不同的功能性。例如,餐馆预订应用可访问针对各种不同的餐馆的评论并且在各种不同的餐馆处建立预订。类似地,旅游应用可预订酒店,预订航班,并且为不同的旅游目的地提供评论。可以使用多个不同的应用访问机制来访问与单个本机应用相关联的不同的功能性。例如,对于餐馆预订应用,搜索数据存储器430可以包括具有不同的应用访问机制202以便访问不同的餐馆评论并建立预定的应用状态记录450。类似地,搜索数据存储器430可以包括具有不同的应用访问机制202以便预订旅馆、预订航班并且访问针对不同的旅游目的地的评论的应用状态记录450。
用于单个本机应用204a的应用访问机制202可以在复杂性上变化。在一些示例中,如上所述,应用访问机制202使本机应用204a启动(例如,可以指示操作系统224启动应用204)并且然后在启动之后执行附加操作。在其它示例中,应用访问机制202可以使应用204启动到默认状态(例如,默认主页)中而不用执行任何附加操作。包括使应用204启动到默认状态中的应用访问机制202的应用状态记录450可以被认为是与本机应用204a有关的访问机制202,而不是可以由应用204访问的任何特定状态。
搜索模块410可以将附加数据连同访问机制202和结果分数442一起发送到用户设备200。例如,搜索模块410可以发送要包括在用户可选择的链接250中的数据(例如,文本和/或图像)。用户可选择的链接250的数据(例如,文本和/或图像)在本文中可以被称为“链接数据”(例如,链接数据444)。用户设备200基于接收到的链接数据444将用户可选择的链接250显示给用户10。每个用户可选择的链接250可以与包括在搜索结果440、540中的访问机制202相关联,使得当用户10选择链路250,用户设备200启动在访问机制202中引用的应用204并且将应用204设定成由访问机制202指定的状态。
参考图2A,用户设备200可以响应于搜索查询包装器330的传输而从搜索模块410和/或API 500接收一组搜索结果440、540。搜索应用216的GUI230显示(例如,渲染)从搜索模块410和/或API 500接收到的搜索结果440、540。取决于什么信息被发送到用户设备200,搜索应用216可以以各种不同的方式将搜索结果440、540显示给用户10。在搜索结果440、540包括访问机制202和与访问机制202相关联的链接数据444、544的列表的示例中,搜索应用216可以将搜索结果440、540作为包括文本和图像的用户可选择的链接250的列表251显示给用户10。链接250中的文本和图像可以包括与访问机制202相关联的应用名称、描述访问机制202的文本、与由访问机制202引用的应用204相关联的图像(例如,应用图标)以及与由访问机制202定义的应用状态相关联的图像(例如,应用屏幕图像)。
在一些实施方式中,搜索应用216将搜索结果440、540作为布置在用户10键入搜索查询332的搜索字段206下的链接250的列表251来显示。此外,搜索应用216可以基于与包括在链接250中的访问机制202相关联的结果分数442、542按顺序布置链接250。
链接250中的每一个包括链接数据444、544。例如,链接250中的每一个可以包括可描述应用和应用的状态的图像(例如,图标)和文本(例如,应用或商业名称)。链接250中的每一个可以包括访问机制202,使得如果用户10选择链接250中的一个,则用户设备200启动应用204并将应用204设定成由与所选择的链接250相关联的访问机制202指定的状态。在一些实施方式中,用户设备200基于与包括在链接250中的访问机制202相关联的结果分数来布置链接250。在一些实施方式中,如图2B中所例示,针对相同应用204的链接250在显示给用户10的搜索结果440、540中被组合在一起。
关于图2A,可以假定针对由TripAdvisor公司开发的的本机应用204a和针对由Yelp公司开发的的本机应用204b被安装在用户设备200上。链接250a、250b可以是到已经安装在用户设备200上的应用204。链接250c是例如如果用户选择下载按钮209b则可以被下载到用户设备200的针对的应用204。
GUI 230包括链接250a被布置在其下的名称“TripAdvisor”。对链接250a的选择可以使用户设备200启动本机应用204a并检索本机应用204a中的“假日酒店旅馆和套房”的条目(例如,对于“深夜用餐者”的搜索)。对链接250b的选择可以使用户设备200启动本机应用204b并检索本机应用204b的假日酒店晚餐餐馆条目。对链接250c的选择(或对下载图标209b的选择)可以使用户设备200下载本机应用204a。在下载本机应用204a之后,用户设备200然后可以启动并检索“假日酒店–电影”的条目。搜索模块410和/或API 500可以被配置为在搜索结果440、540中发送应用访问机制202a、web访问机制202b和应用下载机制202c的任何组合。
在一些示例中,用户设备200经由伙伴计算系统(参见图11A和图11B)与搜索系统400和/或API 500进行通信。伙伴计算系统可以是第三方的可以利用搜索系统400和/或API500的搜索功能性的计算系统。伙伴计算系统可以属于除操作搜索系统400的公司或组织以外的公司或组织。可以利用搜索系统400的功能性的示例第三方可以包括但不限于互联网搜索提供商和无线通信服务提供商。用户设备200可以向搜索系统400和/或API 500发送搜索查询并且经由伙伴计算系统接收搜索结果440、540。伙伴计算系统在一些示例中向用户设备200提供用户界面,并且/或者修改在用户设备200上提供的搜索体验。
图3A至图3C例示了查询分析系统300和搜索系统400的示例。参考图3A,查询分析系统300从用户设备200接收搜索查询332,分析搜索查询332以生成与搜索查询332相关联的附加信息340(即,API选择数据342、API查询数据344和搜索结果显示数据346中的一种或更多种),并且将附加信息340发送到用户设备200,以及在一些示例中,发送到搜索系统400。例如,查询分析模块310可以使用包括在查询分析数据存储器320中的各种处理资源和数据(例如,关键词、表等)来生成附加信息340。搜索系统400也例如从用户设备200或查询分析系统300接收搜索查询332。用户设备200通过使用搜索查询332和附加信息340来查询可经由用户设备200访问的一个或更多个API 500接收到一个或更多个API搜索结果540(例如,应用访问机制202(AAM))。搜索系统400使用搜索查询332、包括在搜索数据存储器430中的数据并且在一些示例中使用附加信息340来生成一个或更多个搜索系统搜索结果440。具体地,搜索模块410基于搜索查询332和例如附加信息340来识别包括在搜索数据存储器430中的一个或更多个应用状态记录450。搜索模块410向搜索结果生成模块420发送识别应用状态记录450的一个或更多个应用状态ID 452。搜索结果生成模块420从所识别的应用状态记录450中选择一个或更多个访问机制202(AM)(例如,AAM 202a、web访问机制(WAM)202b和/或应用下载地址202c(ADA))并且将AM 202作为搜索系统搜索结果440(例如,具有链接数据444)发送到用户设备200。在这些示例中,查询分析系统300可以是搜索系统400的一部分、另一系统或设备的一部分或独立系统或设备。
图3B和图3C例示了与查询分析系统300和搜索数据存储器430通信的搜索模块410的各种示例。图3B的搜索模块410包括查询处理模块412、集合生成模块414和集合处理模块416。如图3B中所示,查询处理模块接收412搜索查询332(例如,来自用户设备200或查询分析系统300)并且处理搜索查询332(例如,对于搜索查询332执行断词(tokenization)、过滤、词干提取(stemming)、同义化和停用词去除中的任一种)。集合生成模块414然后使用(例如,处理的)搜索查询332并且在一些示例中使用从查询分析系统300接收到的与搜索查询332相关联的附加信息340来识别包括在搜索数据存储器430中的一个或更多个应用状态记录450。例如,集合生成模块414可以使用搜索查询332和例如附加信息340(例如,通过API选择数据342指示的域和所对应的概率值)作为对由Apache软件基金会开发的信息检索软件的输入来识别应用状态记录450。具体地,集合生成模块414可以基于搜索查询332的项与包括在应用状态记录450中的应用状态信息454(ASI)的项之间的匹配来识别应用状态记录450,并且在一些示例中,基于通过附加信息340指示的(例如,最可能的)域与和应用状态记录450相关联(例如,在其内指示)的域之间的匹配来识别应用状态记录450。
所识别的应用状态记录450在本文中可以被称为考虑集合415。应用状态记录450的考虑集合415可表示将由集合处理模块416评分的应用状态记录450。集合生成模块414可以基于包括在搜索查询包装器330中的数据来确定用户设备200的地理位置。在附加示例中,如果查询分析模块310检测到查询指定的位置,则集合生成模块414将该查询指定的位置用作搜索位置。在一些示例中,集合生成模块414将用户设备200的地理位置用作搜索位置(例如,以基于位置来过滤应用状态记录450)。
如上所述,集合处理模块416可以对考虑集合415进行评分以生成识别应用状态记录450的一个或更多个应用状态ID 452并且将这些应用状态ID 452发送到搜索结果生成模块420。集合处理模块416可以对考虑集合415中的应用状态记录450进行评分以便生成一组搜索结果440。与应用状态记录450相关联的分数442可以被称为“结果分数”。集合处理模块416可以为考虑集合415中的应用状态记录450中的每一个确定结果分数442。与应用状态记录450相关联的结果分数442可以指示应用状态记录450(例如,通过访问机制202)在其它应用状态记录450当中的相对排名。例如,较大的结果分数442可以指示应用状态记录450与所接收到的搜索查询332更相关。
集合处理模块416从所选择的应用状态记录450(例如,评分最高的应用状态记录)中选择应用访问机制202。集合处理模块416将所选择的应用访问机制202发送到生成了搜索查询332的用户设备200。集合处理模块416也可以发送与所选择的应用访问机制202相关联的结果分数442。例如,应用访问机制202可以与从其中选择应用访问机制202的应用状态记录450的结果分数442相关联。
图3C的搜索模块410包括查询分析系统300及其组件作为搜索模块410的一部分。如图所示,搜索模块与查询分析数据存储器320和搜索数据存储器430通信。在图3C的示例中,查询分析模块310可以执行归因于参考图3B所描述的查询处理模块412的查询处理技术中的任一种。
参考图4A和图4B,搜索数据存储器430包括多个不同的应用状态记录450。每个应用状态记录450可以包括与应用204的功能和/或由功能的执行产生的应用204的状态有关的数据。应用状态记录450可以包括应用状态标识符(ID)452、应用状态信息454、应用标识符(ID)456、用于访问由应用204提供的功能性的一个或更多个访问机制202、202a、202b、202c和相关联的域458。
应用状态ID 452可以用于识别包括在搜索数据存储器430中的其它应用状态记录450当中的应用状态记录450。应用状态ID 452可以是字母、数字和/或符号字符(例如,标点符号)的字符串,所述字符串唯一地标识相关联的应用状态记录450。在一些示例中,应用状态ID 452以人类可读形式描述功能和/或应用状态。例如,应用状态ID 452可以包括在访问机制202中引用的应用204的名称。在具体示例中,互联网音乐播放器应用的应用状态ID452可以包括该互联网音乐播放器应用的名称以及当该互联网音乐播放器应用程序被设定成由包括在应用状态记录450中的应用访问机制202所定义的状态时将被播放的歌曲名称。附加地或可替代地,应用状态ID 452可以是描述根据访问机制202执行的功能和/或由根据访问机制202执行功能产生的应用状态的人类可读字符串。在一些示例中,应用状态ID 452包括格式为用于应用状态记录450的web访问机制202b的统一资源定位符(URL)的字符串,所述字符串可以唯一地标识应用状态纪录450。
在更具体示例中,并且参考图4B,如果应用状态记录450描述本机应用的功能,则应用状态ID 452可以包括名称“Yelp”以及在应用状态信息454中描述的应用状态的描述。例如,用于描述名为“The French Laundry”的餐馆的应用状态记录450的应用状态ID 452可以是“Yelp-The French Laundry”。在应用状态ID 452包括格式为URL的字符串的示例中,应用状态ID 452可以包括以下字符串“http://www.yelp.com/biz/the-french-laundry-yountville-2?ob=1”以唯一地标识应用状态记录450。在附加示例中,应用状态ID 452可以包括使用除“http://”以外的名称空间(诸如“func://”)的URL,所述名称空间可以指示URL正被用作应用状态记录450中的应用状态ID 452。例如,应用状态ID 452可以包括以下字符串“func://www.yelp.com/biz/the-french-laundry-yountville-2?ob=1”。
应用状态信息454可以包括描述应用204根据应用状态记录450中的访问机制202被设定成的应用状态的数据。附加地或可替代地,应用状态信息454可以包括描述根据包括在应用状态记录450中的访问机制202而执行的功能的数据。应用状态信息454可包括描述应用状态的文本、数字和符号。包括在应用状态信息454中的数据的类型可以取决于与应用状态相关联的信息的类型和由应用访问机制202a指定的功能性。应用状态信息454可以包括各种不同类型的数据,诸如结构化、半结构化和/或非结构化数据。可以基于从数据源130中检索到的文档自动地和/或手动地生成应用状态信息454。此外,可以更新应用状态信息454,使得可响应于搜索查询332而提供最新的搜索结果440、540。
在一些示例中,应用状态信息454包括当应用204被设定在由访问机制202定义的应用状态下时由应用204呈现给用户10的数据。例如,如果访问机制202中的一种是应用访问机制202a,则应用状态信息454可以包括这样的数据,所述数据描述本机应用204a在用户设备200已执行在应用访问机制202中指示的一个或更多个操作之后的状态。例如,如果应用状态记录450与购物应用相关联,则应用状态信息454可以包括描述产品的数据(例如,名称和价格),所述产品当购物应用被设定为由访问机制202定义的应用状态时被显示。作为另一示例,如果应用状态记录450与音乐播放器应用相关联,则应用状态信息454可以包括描述歌曲的数据(例如,名称和艺术家),所述歌曲当该音乐播放器应用被设定为由访问机制202定义的应用状态时被播放。
包括在应用状态信息454中的数据的类型可以取决于与应用状态相关联的信息的类型和由访问机制202定义的功能性。例如,如果应用状态记录450针对提供餐馆的评论的应用204,则应用状态信息454可以包括与餐馆有关的信息(例如,文本和数字),诸如餐馆的类别、对餐馆的评论和餐馆的菜单。在此示例中,访问机制202可以使应用204(例如,本机应用204a或web浏览器应用204b)启动并检索餐馆的信息。作为另一示例,如果应用状态记录450针对播放音乐的应用204,则应用状态信息454可以包括与歌曲有关的信息,诸如歌曲的名称、艺术家、歌词和收听者评论。在此示例中,访问机制202可以使应用204启动并播放在应用状态信息454中描述的歌曲。
示例应用状态信息454包括数据字段455,诸如THE FRENCH餐馆的类别455a、THE FRENCH餐馆的描述455b、用户对THE FRENCH餐馆的评论455c和附加数据字段455。例如,餐馆类别455a字段可以包括文本“法国菜”和“当代”。描述字段455b可以包括描述THE FRENCH餐馆的文本。用户评论字段455c可以包括用户对THE FRENCH餐馆的评论的文本。附加数据字段455可以包括可能在其它定义的字段内不特别适合的THE FRENCH餐馆的附加数据,诸如餐馆的菜单、价格和餐馆的营业时间。
应用状态记录450包括一个或更多个访问机制202。访问机制202可以包括对应用204的引用。用于应用状态记录450的示例应用访问机制202a可以包括对本机应用204a的引用以及要由用户设备200执行的一个或更多个操作。例如,应用访问机制202a可以包括应用资源标识符和/或使用户设备200在本机应用中访问THE FRENCH餐馆的条目的一个或更多个操作。示例应用资源标识符可以是“vnd.opentable.deeplink://opentable.com/restaurant/profile?rid=1180&refid=1”。
在一些实施方式中,应用状态记录450包括包含各种信息的多个不同的应用访问机制202、202a、202b、202c。应用访问机制202可以包括指示应用访问机制202与之兼容的应用版本的版本信息。例如,版本信息可以指示应用访问机制202与之兼容的操作系统224。此外,不同的应用访问机制202可以与本机应用204a的不同版本相关联。本机应用版本(在下文中被称为“应用版本”)指代本机应用204a的特定实施方式或变化。例如,应用版本可以指代本机应用204a的版本,诸如本机应用204a的版本1.0或本机应用204a的版本2.0。在另一示例中,应用版本可以指代用于特定平台(诸如特定操作系统224)的本机应用204a的实施方式。
包括在应用状态记录450中的不同的应用访问机制202可以使所对应的应用版本启动并执行类似的功能。因此,包括在应用状态记录450中的不同的应用访问机制202可以使所对应的应用版本被设定成类似的应用状态。例如,如果不同的应用访问机制202引用信息检索应用的不同版本,则不同的应用访问机制202可以使所对应的应用版本检索类似的信息。在另一示例中,如果不同的应用访问机制202引用互联网音乐播放器应用的不同版本,则不同的应用访问机制202可以使所对应的应用版本播放同一歌曲。
在一些示例中,用于检索餐馆信息的本机应用的应用状态记录450包括用于多个不同的应用版本的多个不同的应用访问机制202。假定应用状态记录450与特定墨西哥餐馆相关联,用于不同的应用版本的应用访问机制202可以使每个应用版本检索用于同一特定墨西哥餐馆的信息。例如,第一应用访问机制202可以使第一应用版本(例如,在第一OS上)检索该特定墨西哥餐馆的信息。第二应用访问机制202可以使第二应用版本(例如,在第二OS上)检索该特定墨西哥餐馆的信息。在一些示例中,搜索系统400可基于用户设备200是否可处理应用访问机制202来确定是否在搜索结果440、540中发送应用访问机制202。
应用状态记录450也可以包括与应用状态相关联的一个或更多个关联域458(例如,描述状态和/或通过该状态执行的功能的业务类型、产品、服务或位置)。查询分析系统300和/或搜索系统400可以使用关联域458来使用通过与搜索查询332相关联的附加信息340所指示的一个或更多个域458来识别应用状态记录450。在一些示例中,如图4A和图4B中所示通过应用状态记录450所指示的域458作为应用状态信息454的一部分被包括或者与该应用状态信息分开。如图4B中所示,一个或更多个域458(例如,餐馆、位置)与本机应用的功能的应用状态记录450相关联,这描述THE FRENCH餐馆用于标识应用状态记录450。也可以使用其它域。
查询分析系统300和/或搜索系统400可以以各种不同的方式生成包括在应用状态记录450中的应用状态信息454。在一些示例中,查询分析系统300和/或搜索系统400经由与本机应用204a的数据库所有者和开发者的伙伴关系来检索要包括在应用状态信息454中的数据。例如,搜索系统400可以从在线数据库130f中自动地检索数据,所述在线数据库130f包括但不限于与电影、电视节目、音乐和餐馆有关的数据。在一些示例中,人类操作员手动地生成包括在应用状态信息454中的一些数据。查询分析系统300和/或搜索系统400可以随着时间的推移而更新包括在应用状态信息454中的数据,使得查询分析系统300和/或搜索系统400提供最新的结果440、540。
应用ID 456可以用于识别与应用状态记录450相关联的本机应用204a。应用ID456可以是字母、数字和/或符号字符(例如,标点符号)的字符串,所述字符串唯一地标识相关联的本机应用204a。在一些示例中,本机应用204a的应用ID 456具有人类可读形式。例如,应用ID 456可以包括在访问机制202中引用的应用204的名称。在具体示例中,餐馆查找应用204的应用ID 456可以包括该餐馆查找应用的名称。
包括使应用204启动到默认状态中的应用访问机制202的应用状态记录450可以包括描述本机应用204a的应用状态信息454,而不是任何特定应用状态。例如,应用状态信息454可以包括应用204的开发者的名字、应用204的发布者、应用204的类别455a(例如,流派)、应用204的描述455b(例如,开发者的描述)和应用204的价格。应用状态信息454也可以包括关于应用204的安全或隐私数据、应用204的电池使用率和应用204的带宽使用率。应用状态信息454也可以包括应用统计。应用统计可以指代与本机应用204a有关的数字数据。例如,应用统计可以包括但不限于下载次数、下载速率(例如,每月下载量)、评级数和评论数。
图5例示了用户设备200的示例组件。在所例示的示例中,用户设备200包括处理设备240、存储设备260、网络接口设备262和用户接口设备264。用户设备200可以包括未显式地描绘的其它组件。
处理设备240包括存储计算机可读指令的存储器(例如,RAM和/或ROM)和执行计算机可读指令的一个或更多个处理器。在处理设备240包括两个或更多个处理器的实施方式中,处理器可以分布式或单独的方式执行。处理设备240可以执行包括本机应用模块的本机应用204a、任何数量的其它本机应用204a、web浏览器204b和操作系统224,其中的全部均可以作为计算机可读指令被具体实现。操作系统224充当处理设备240与应用204之间的接口。
存储设备260包括一个或更多个计算机可读介质(例如,硬盘驱动器和/或闪速存储器)。存储设备2560可存储组成本机应用204a、web浏览器204b和操作系统224的计算机可读指令。网络接口262包括被配置为与网络进行通信的一个或更多个设备。网络接口262可包括用于执行有线或无线通信的一个或更多个收发器。网络接口262的示例可以包括但不限于被配置为使用IEEE 802.11无线标准、以太网端口、无线发送器和通用串行总线(USB)端口来执行通信的收发器。用户接口264包括从用户10接收输入并且/或者向用户10提供输出的一个或更多个设备。用户接口264可包括但不限于触摸屏、显示器、QWERTY键盘、数字键区、触摸板、麦克风和/或扬声器。
处理设备240执行被配置有本机应用模块217的本机搜索应用216。本机应用模块217是(例如,由开发者)嵌入在本机应用204a(即,搜索应用216)中的一组计算机可读指令。在一些实施方式中,开发者利用由查询分析系统300和/或搜索系统400的提供商所提供的软件开发者工具包(SDK)来实现本机应用模块217。当用户10访问调用本机应用模块217的搜索应用的状态时,本机应用模块217基于当前正被访问的本机应用的状态(被称为“被访问状态”)来生成查询包装器330。示例查询包装器330可以定义搜索应用216的状态并且可进一步定义可以由查询分析系统300和/或搜索系统400使用来执行搜索的附加参数。本机应用模块217可以进一步从用户设备200的操作系统224请求本机应用模块217包括在查询包装器330中的用户设备200的地理位置。进一步,在一些实施方式中,本机应用模块217将用户信息(用户10已同意共享,诸如年龄、性别和/或偏好)包括在查询包装器330中。本机应用模块217将查询包装器330发送到查询分析系统300和/或搜索系统400。
在一些示例中,处理设备240也包括API选择模块218和API查询模块219。API选择模块218确定将接收API查询包装器530的一个或更多个API 500,同时API查询模块219将API查询包装器530发送到具体选择的一个或更多个API 500。在一些示例中,API查询模块219确定API 500需要执行搜索的信息并且将该信息包括API查询包装器530中。
图6A提供了使用搜索查询332在用户设备200处生成搜索结果的方法600a的操作的示例布置。相对于如图1A至图2D中所例示的用户设备200、查询分析系统300和搜索系统400对方法600a进行描述。在块602中,用户设备200从用户设备200的用户10接收搜索查询332。在块604中,用户设备200然后将搜索查询332发送到查询分析系统300(例如,作为查询包装器330的一部分)。用户设备200也可以向查询分析系统300发送其它信息(例如,也作为查询包装器330的一部分),诸如与用户设备200相关联的用户信息和/或地理位置数据334、平台数据336和IP地址信息338。在一些示例中,查询分析系统300是搜索系统400的一部分。在其它示例中,查询分析系统300可以是另一系统或设备的一部分(例如,本地网络网关、蜂窝网络塔或远程服务器的一部分)或独立系统或设备。如本文所描述的,查询分析系统300分析搜索查询332以生成与搜索查询332相关联的附加信息340。如本文另外描述的,附加信息340可以包括关于图2A先前所描述的API选择数据342、API查询数据344和搜索结果显示数据346中的一个或更多个。查询分析系统300然后将附加信息340发送到用户设备200,并且在一些示例中,发送到搜索系统400。例如,在查询分析系统300是搜索系统400的一部分的示例中,附加信息340可以容易地被搜索系统400得到(例如,由查询分析系统300转发给搜索系统400)。在这些示例中,搜索查询332也可以例如连同与用户10和/或用户设备200相关联的其它信息一起可被搜索系统400得到(例如,由查询分析系统300转发给搜索系统400)。在其它示例中,搜索系统400可以从用户设备200接收搜索查询332(参见图2A至图2C)。
在块606处,用户设备200从查询分析系统300接收附加信息340,并且在块608处,用户设备200基于搜索查询332和附加信息340(例如,API选择数据342和API查询数据344)来生成包括一个或更多个访问机制202(例如,应用访问机制)的一个或更多个API搜索结果540。并行地,搜索系统400也接收搜索查询332,并且在一些示例中,接收来自用户设备200和查询分析系统300中的一个或更多个的附加信息340。搜索系统400然后使用搜索查询332和附加信息340来生成一个或更多个搜索系统搜索结果440,其中,所述一个或更多个搜索系统搜索结果440包括一个或更多个应用访问机制202a、web访问机制202b和/或下载机制202c。搜索系统400将搜索系统搜索结果440发送到用户设备200。在块610处,用户设备200从搜索系统400接收搜索系统搜索结果440并且将API 500和搜索系统搜索结果440作为一个或更多个用户可选择的链接250显示给用户10。在一些示例中,在块612处,用户设备200使用附加信息340(例如,搜索结果显示数据346和链接数据444、544)来显示API搜索结果540和搜索系统搜索结果440。每个用户可选择的链接250包括包括在API 500和搜索系统搜索结果440、540中的访问机制202以及例如也作为搜索结果440、540的一部分接收到的链接数据444、544中的一种。
图6B提供了用户10选择显示搜索结果440、540的GUI 230的用户可选择的链接250的方法600b的操作的示例布置。相对于如图1A至图2D中所例示的用户设备200、查询分析系统300和搜索系统400对方法600b进行描述。用户10可以选择用户可选择的链接250中的任何链接。在用户选择用户可选择的链接250时,在块620处,用户设备200确定用户10已选择了与搜索结果440、450相关联的用户可选择的链接250中的一个。在块622处,用户设备200确定要在块624、628和632之间进行哪一个选择。在一些示例中,在块624处,用户设备200启动由所选择的链接250(例如,由包括在链接250中的应用访问机制202)引用的应用,并且在块626处,用户设备200将应用204设定成由链接250指定的应用状态(例如,根据应用访问机制202)。在其它示例中,在块632处用户设备200可以(例如,从使用包括在链接250中的应用下载机制的数字分发平台(参见下载按钮209b))下载由所选择的链接250引用的应用204并且在块634处安装由所选择的链接250引用的应用204,这时用户设备200可以按照如上所述的类似方式启动应用204并且将它设定成由链路250指定的应用状态(例如,根据也包括在链路250中的应用访问机制202)。在仍然其它的示例中,在块628处用户设备200可以启动web浏览器应用202b,并且在块630处用户设备200可以访问由所选择的链接250指定的URL(例如,使用包括在链接250中的web访问机制202b来访问基于web的应用的状态)。
图7A至图8B提供了在用户设备200处使用与搜索查询332相关联的附加信息340来生成API搜索结果540并显示API和搜索系统搜索结果440、540的方法700a、700b、800a、800b的操作的示例布置。相对于如图1A至图2D中所例示的用户设备200、查询分析系统300和搜索系统400对方法700a、700b、800a、800b进行描述。
如图7A和图7B中所示,在块702处,用户设备200从查询分析系统300接收附加信息340。附加信息340包括API选择数据342,API选择数据342被配置为使得用户设备200能够选择可经由用户设备200访问的API 500中的一个或更多个以便使用搜索查询332来查询API500。具体地,在块704,用户设备200可以使用通过API选择数据342指示的一个或更多个域来选择API 500(例如,通过使用查找表(LUT)或另一映射来将域映射到所选择的API 500)。在一些示例中,用户设备200选择API 500中的与具有最高概率值的域匹配的一个或更多个。用户设备200然后可以在块706处向所选择的API 500中的每一个发送使用搜索查询332和附加信息340(例如,API查询数据344)所生成的API请求532。在块708处,用户设备200响应于发送API请求532而从API 500接收API搜索结果540。
如图7B中所示,附加信息340包括API查询数据344,API查询数据344被配置为使得用户设备200能够使用搜索查询332来查询可经由用户设备200访问的API 500中的一个或更多个(例如,所选择的API 500)。API查询数据344可以包括一个或更多个API请求532或用于生成用于查询API 500的API请求532的指令。在一些示例中,API查询数据344对应于或者指示已针对拼写进行了校正的搜索查询332的版本的生成。附加地或可替代地,API查询数据344可以对应于或者指示基于实体和/或位置匹配或其它数据生成对搜索查询332的一般重写。除了上述的拼写校正和一般重写特征之外或者代替上述的拼写校正和一般重写特征,API查询数据344可以对应于或者指示为一个或更多个特定API 500(例如,可经由用户设备200访问的那些)生成对搜索查询332的API特定重写。例如,API查询数据344可以包括指定用户设备200如何可以查询一个或更多个API 500(例如,通过使搜索查询332参数化或者考虑由每个API 500及其查询接口提供的特定/唯一字段,从而产生所谓的“结构化搜索”)的一组规则。或者,API查询数据344可以已经包括针对API 500中的一个或更多个中的每一个的参数化搜索查询332。在一个示例中,由查询分析系统300为搜索查询332“Starbucks”和本机应用程序所生成的API查询数据344可以包括或者指示包括字符串“Yelp:Cat=Coffee_shop”和“text=SBKS Inc.”的API请求532的生成。在此示例中,API查询数据344指示对于与相关联的API 500来说,API查询接口的“查询”字段应当包括字符串“SBKS Inc.”并且API查询接口的类别应当被设定为“Coffee_shop”。在块710处,用户设备200可以使用API查询数据344来为可经由用户设备200访问的API 500中的一个或更多个中的每一个(例如,所选择的API 500)生成API请求532。在块712处,用户设备200将API请求532发送到API 500中的对应API,并且响应于发送API请求532而从所查询的API 500接收API搜索结果540。
参考图8A和图8B,在一些实施方式中,方法800a、800b包括在块802处接收包括搜索结果显示数据346的附加信息,搜索结果显示数据346被配置为使得用户设备200能够将API搜索结果540和搜索系统搜索结果440作为用户可选择的链接250显示(例如,评分、排名和/或组合)给用户10。在一些示例中,搜索结果显示数据346包括与通过API选择数据342所指示的域相关联的概率值。在块804处,方法800a、800b包括使用概率值(以及例如从所查询的API 500接收到的其它数据,诸如与API搜索结果540相关联的应用特定流行性或评级数据)来生成API搜索结果540的结果分数542。在块806处,方法800a、800b可以包括使用结果分数542来对API搜索结果540进行排名作为将它们作为用户可选择的链接250显示给用户10的一部分。例如,通过查询使用具有较高概率值的域所选择的API 500而生成的API搜索结果540可以被评分/排名高于通过查询使用具有较低概率值的域所选择的API 500而生成的API搜索结果540。在具体示例中,从酒店应用API接收到的API搜索结果540可以评分/排名高于从电影应用API接收到的API搜索结果540。在此示例中,查询分析系统300可能已确定了搜索查询332更可能打算搜索旅馆而不是电影(即,附加信息340包括用于选择旅馆应用API并具有较高概率值的的域“旅馆”以及用于选择电影应用API并具有较低概率值的域“电影”)。在块806处,方法800a、800b包括使用结果分数542来对API搜索结果540彼此进行排名,如图8A中所示,或者连同搜索系统搜索结果440一起对API搜索结果540进行排名,如图8B中所示(块812)。如本文所描述的,搜索系统搜索结果440也可以与结果分数442相关联。在其它示例中,搜索结果显示数据346可以直接指示用户设备200应当如何显示API 500和搜索系统搜索结果440、450。在任何情况下,使用搜索结果显示数据346,在块808、810和814处,方法800a、800b可以包括将API 500和搜索系统搜索结果440作为用户可选择的链接250显示给用户10。
图9提供了用于使用查询分析系统300来生成与搜索查询332相关联的附加信息340的方法900的操作的示例布置。相对于如图1A至图2D中所例示的用户设备200、查询分析系统300和搜索系统400对方法900进行描述。
在块902处,查询分析系统300从用户设备200接收搜索查询332。在块904处,查询分析系统300生成与搜索查询332相关联的附加信息340。在一些示例中,查询分析系统300生成附加信息340,使得它包括API选择数据342。API选择数据342向用户设备200指示可经由用户设备200访问的一个或更多个API 500中的哪一个(例如,与安装在用户设备200上的一个或更多个应用204a相对应)应当使用搜索查询332(例如,API请求532)来查询。在一些示例中,查询分析系统300生成附加信息340,使得它包括API查询数据344。API查询数据344可以使得用户设备200能够使用搜索查询332来查询可经由用户设备200访问的一个或更多个API 500(例如,API查询数据344包括或者指示API请求532的生成)。作为再一个示例,查询分析系统300可以生成附加信息340,使得它包括搜索结果显示数据346。搜索结果显示数据346可以向用户设备200指示如何将API 500和例如搜索系统搜索结果440显示给用户10。在一些示例中,附加信息340包括上述的API选择数据342、API查询数据和搜索结果显示数据346中的一种或更多种(例如,其任何组合)。在块906处,查询分析系统300将附加信息340发送到用户设备200。在一些示例中,查询分析系统300也将搜索查询332(块908)和附加信息340(块910)发送(例如,转发)到搜索系统400。
图10提供了用于在搜索系统400处使用搜索查询332以及可选地与搜索查询332相关联的附加信息340来生成搜索结果440的方法1000的操作的示例布置。相对于如图1A至图2D中所例示的用户设备200、查询分析系统300和搜索系统400对方法900进行描述。
在块1002处,搜索系统400从用户设备200和查询分析系统300中的一个接收搜索查询332。在一些示例中,在块1004处,搜索系统400进一步从查询分析系统300接收附加信息340。搜索系统400使用搜索查询332并且在一些示例中使用附加信息340来生成搜索系统搜索结果440。在块1006处,搜索系统400可以基于搜索查询332首先识别包括在搜索数据存储器430中的一个或更多个应用状态记录450的考虑集合415。可选地,在块1008处,系统400也可以在识别考虑集合415时考虑附加信息340。在一些示例中,搜索系统400进一步处理所识别的考虑集合415的应用状态记录450(例如,在块1010处,为每个记录450生成结果分数442,使用结果分数442来对记录450进行排名,并且在块1012处,从考虑集合415中选择一个或更多个排名最高的记录450)。在块1014处,搜索系统400从所识别的记录450中选择一个或更多个访问机制202。在块1016处,搜索系统400生成包括所选择的访问机制202的搜索系统搜索结果440。在块1018处,搜索系统400将所选择的访问机制202作为搜索系统搜索结果440发送到用户设备200。
图11A提供了用于基于由用户10经由显示器201输入的搜索查询332在用户设备200的显示器201上显示搜索结果440、540的方法1100的操作的示例布置。相对于如图11B中所例示的用户设备200、查询分析系统300和搜索系统400对方法1100进行描述。
在块1102处,数据处理硬件800从与数据处理硬件800通信的用户设备200接收第一搜索查询332(例如,被包括在查询包装器330中)。在块1104处,数据处理硬件800将第一搜索查询332从数据处理硬件800发送到查询分析系统300和第一搜索系统400(例如,搜索系统400)。在块1106处,数据处理硬件800从第一搜索系统400接收第一搜索结果440。在块1108处,数据处理硬件800从查询分析系统300接收基于第一搜索查询332的查询信息或附加信息340。查询信息或附加信息340包括第二搜索系统400的API 500的API 500信息。
在块1110处,数据处理硬件800向第二搜索系统400的API 500发送第二搜索查询530。第二搜索查询530基于信息或附加信息340。在块1112处,数据处理硬件800从第二搜索系统400接收第二搜索结果540。在块1114处,数据处理硬件800向用户设备200发送结果集合440、540。结果集合440、540包括用于在用户设备200上显示的第一搜索结果440和第二搜索结果540中的至少一些。至少一个搜索结果440、540包括具有到用户设备200上的对应已安装的应用204a的引用的应用访问机制202并且指示针对该对应已安装的应用204a的可执行操作。
在一些实施方式中,数据处理硬件800基于查询信息340和/或第一搜索查询330、332在搜索系统400的合集当中识别第二搜索系统400。数据处理硬件800可以基于查询信息340和第一搜索查询330、332来确定针对第二搜索系统400的第二搜索查询540。应用访问机制202可以被配置为启动用户设备200上对应已安装的应用204a并且将所安装的应用204设定为由应用访问机制202指定的应用状态。
查询信息340可以包括搜索结果显示数据346。数据处理硬件800可以使用搜索结果显示数据346来为第一搜索结果440中的每一个和/或第二搜索结果540中的每一个生成结果分数442、542。附加地,数据处理硬件800可以基于所对应的结果分数442、542来对第一搜索结果440和/或第二搜索结果540中的每一个进行排名。
图12提供了用于基于由用户10经由显示器201输入的搜索查询332在用户设备200的显示器201上显示搜索结果440、540的方法1200的操作的示例布置。相对于如图1A至2D中所例示的用户设备200、查询分析系统300和搜索系统400对方法1200进行描述。
在块1202处,用户设备200(例如,数据处理硬件800)通过显示在与数据处理硬件800通信的屏幕201上的用户界面230来接收搜索字符串(例如,搜索查询332)。在块1204处,用户设备200基于搜索字符串来生成第一搜索查询332,并且在块1206处,将第一搜索查询332(被包括在查询包装器320中)发送到查询分析系统300和第一搜索系统400(搜索系统400)。在块1208处,用户设备200从第一搜索系统440接收第一搜索结果440,并且在块1210处,用户设备200从查询分析系统300接收查询信息或附加信息340。查询信息340包括第二搜索系统400的应用编程接口的应用编程接口信息。在块1212处,用户设备200向第二搜索系统400的API 500发送第二搜索查询530。第二搜索查询530基于查询信息340。在块1214处,用户设备200从第二搜索系统400接收第二搜索结果540。在块1216处,用户设备200确定包括第一搜索结果440和第二搜索结果440中的至少一些的结果集合440、540。至少一个搜索结果440、540包括应用访问机制202,所述应用访问机制202具有到用户设备200上对应已安装的应用204a的引用并且指示针对该对应已安装的应用204a的可执行操作。在块1218处,用户设备200将结果集合440、450显示在屏幕201上的用户界面230中。
在一些实施方式中,用户设备200基于查询信息340和/或第一搜索查询332在搜索系统400的合集当中识别第二搜索系统400。附加地,用户设备200可以基于查询信息340和第一搜索查询332来确定针对第二搜索系统400的第二搜索查询530。
在一些示例中,用户设备200将结果集合440、540的每个搜索结果440、540作为用户可选择的链接250显示在用户界面254中。每个搜索结果440、540具有与所对应的用户可选择的链接250相关联的关联应用访问机制202。用户设备200可以接收用户对用户可选择的链接250中的一个的选择,并且在数据处理硬件800处执行与所选择的用户可选择的链接250相关联的应用访问机制202。所执行的应用访问机制202可以与所选择的用户可选择的链接250相关联,所述用户可选择的链接250启动用户设备200上对应已安装的应用并且将所安装的应用204a设定为由应用访问机制202指定的应用状态。
查询信息340可以包括搜索结果显示数据346。在一些实施方式中,用户设备200使用搜索结果显示数据346来为第一搜索结果440中的每一个和/或第二搜索结果540中的每一个生成结果分数442、542。用户设备200可以基于所对应的结果分数442、542来对第一搜索结果440和/或第二搜索结果540进行排名。在一些示例中,用户设备200按照基于所对应的结果分数442、542的次序将结果集合440、540的搜索结果440、540显示在用户界面230中。
图13提供了用于基于由用户10经由显示器201输入的搜索查询332在用户设备200的显示器201上显示搜索结果440、540的方法1300的操作的示例布置。相对于如图1A至图2D中所例示的用户设备200、查询分析系统300和搜索系统400对方法1300进行描述。
在块1302处,方法1300包括在数据处理硬件(例如,用户设备200、数据处理硬件800)处通过显示在用户设备200的屏幕201上的用户界面230来接收第一搜索查询332。在块1304处,方法1300包括将第一搜索查询332从数据处理硬件发送到查询分析系统300和第一搜索系统400。在块1306处,方法1300进一步包括从查询分析系统300接收查询信息340。查询信息340包括第二搜索系统500的应用编程接口的应用编程接口信息342。在块1308处,方法1300包括从数据处理硬件向第二搜索系统500的应用程序接口500a-n发送第二搜索查询532,其中第二搜索查询532基于查询信息340。在块1310处,方法1300附加地包括在数据处理硬件处接收来自第一搜索系统400的第一搜索结果440和来自第二搜索系统500的第二搜索结果540。在块1312处,方法1300包括由数据处理硬件确定包括第一搜索结果540和第二搜索结果440中的至少一些的结果集合440、450。至少一个搜索结果440、540包括应用访问机制202,所述应用访问机制202具有到用户设备200上的对应已安装的应用204a的引用并且指示针对该对应已安装的应用204a的可执行操作。在块1314处,方法1314包括由数据处理硬件将结果集合440、540显示在屏幕201上的用户界面230中。
在一些示例中,查询信息340包括以下各项中的至少一种:包括与搜索查询332相关联的一个或更多个查询解析的应用编程接口选择数据342;包括一个或更多个应用编程接口请求532或用于生成应用编程接口500的指令的应用编程接口查询数据344;或搜索结果显示数据346。每个查询解析包括文本字符串、与该文本字符串相关联的域或与该域相关联的概率值。在一些示例中,每个应用编程接口请求532与针对拼写而校正的、基于实体和/或位置匹配而修改的和/或针对应用编程接口500而参数化的第一搜索查询332的版本相关联。数据处理硬件可以是用户设备200本地的。
在一些示例中,方法1300进一步包括由数据处理硬件基于查询信息340和/或第一搜索查询332来识别搜索系统500的合集500a-n当中的第二搜索系统500。方法1300可以包括由数据处理硬件基于查询信息340和第一搜索查询332来确定针对第二搜索系统500的第二搜索查询532。
方法1300可以进一步包括将结果集合440、540的每个搜索结果440、540作为用户可选择的链接250显示在用户界面230中,其中每个搜索结果440、450具有与所对应的用户可选择的链接250相关联的关联应用访问机制202。方法1300可以进一步包括在数据处理硬件处接收用户对用户可选择的链接250中的一个的选择,以及执行与所选择的用户可选择的链接250相关联的应用访问机制202。所执行的与所选择的用户可选择的链接250相关联的应用访问机制启动用户设备200上的对应已安装的应用204a并且将所安装的应用204a设定为由应用访问机制202指定的应用状态。
在一些示例中,查询信息340包括搜索结果显示数据346。方法1300可以包括由数据处理硬件使用搜索结果显示数据来为第一搜索结果中的每一个和/或第二搜索结果中的每一个生成结果分数442、542。该方法可以进一步包括由数据处理硬件基于所对应的结果分数442、552对第一搜索结果540和/或第二搜索结果440进行排名。
参考图14,在一些实施方式中,上述的系统100包括推荐系统1300和/或广告系统1350。在一些示例中,推荐系统1300和/或广告系统1350与查询分析系统300和/或搜索系统400通信,然而在其它示例中,推荐系统1300和/或广告系统1350是分析系统300和/或搜索系统400的一部分。
推荐系统1300确定搜索查询332是否包括输出应用意向推荐和/或应用状态意图的应用意图。推荐系统1300向搜索系统400或API 500发送推荐(即,应用意向推荐和/或应用状态意图推荐420)。
推荐系统1300使用许多准则来确定何时应当为产生API搜索结果540的应用搜索或产生搜索系统搜索结果440的应用状态搜索推荐搜索查询332,其中搜索结果440、540的组合包括应用API搜索结果540和搜索系统搜索结果440两者,并且在一些示例中,包括当可用时的广告结果。在一些实施方式中,系统100包括可以生成被包括在搜索结果440、450中的广告的广告系统1350。广告系统1350可以生成针对应用204的广告(未示出)(例如,到下载应用的链接)和/或到应用状态的链接。广告系统1350可以响应于各种因素而生成广告。广告系统1350可以生成包括各种不同类型的广告内容的广告。广告的内容可以指代包括在广告(例如,由用户设备200渲染的内容)中的图像、文本、视频、链接和其它数据(例如,分析数据)。广告系统1350可以基于各种不同的因素来选择广告的内容,所述因素包括但不限于搜索查询332(例如,关键词)、上下文(例如,用户设备的GPS地理位置值)、与经解析的令牌相关联的数据、与语法匹配相关联的数据(例如,潜在的语法/类别和/或确认的语法/类别)和其它目标参数。
广告系统1350可以包括广告数据存储器(未例示)和广告生成模块(未例示)。广告数据存储器可以包括广告内容以及用于生成广告的不同参数和触发器。广告商(未示出)可与广告系统1350对接以生成/更新广告内容、参数和触发器。广告生成模块可以基于包括在广告数据存储器中的数据并且基于从推荐系统1300和/或广告属性模块接收到的数据来生成广告。
查询分析系统300和/或搜索系统400的一个或更多个计算设备可以被配置为与网络120进行通信。搜索系统400的一个或更多个计算设备也可以被配置为彼此进行通信(例如,经由计算机网络)。在一些示例中,搜索系统400的一个或更多个计算设备包括一个或更多个服务器计算设备,所述一个或更多个服务器计算设备被配置为与用户设备200进行通信(例如,接收查询包装器并发送搜索结果)、从数据源130收集数据、为数据编索引、存储数据并且存储其它文档。在一些示例中,所述一个或更多个计算设备驻留在位于单个地理位置处的单个机器内。在其它示例中,所述一个或更多个计算设备可以驻留在位于单个地理位置处的多个机器内。在仍然其它的示例中,查询分析系统300和/或搜索系统400的一个或更多个计算设备可以分布在许多地理位置上。
图15是可以用于实现本文档中所描述的系统和方法的示例计算设备1500的示意视图。计算设备1500旨在表示各种形式的数字计算机,诸如膝上型电脑、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它适当的计算机。这里所示出的组件、它们的连接和关系以及它们的功能仅意在为示例性的,而不意在限制本文档中所描述和/或要求保护的发明的实施方式。
计算设备1500包括处理器1510、存储器1520、存储设备1530、连接到存储器1520和高速扩展端口1550的高速接口/控制器1540以及连接到低速总线1224和存储设备1530的低速接口/控制器1560。组件1510、1520、1530、1540、1550和1560中的每一个使用各种总线来互连,并且可以酌情被安装在公共母板上或者以其它方式安装。处理器1510可处理在计算设备1500内执行的包括如下指令的指令,所述指令存储在存储器1520中或在存储设备1530上以在外部输入/输出设备(诸如耦接到高速接口1540的显示器1580)上显示图形用户界面(GUI)的图形信息。在其它实施方式中,可以酌情连同多个存储器和多种类型的存储器一起使用多个处理器和/或多个总线。另外,可以连接多个计算设备1500,其中每个设备提供必要操作的一部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
存储器1520在计算设备1500内非暂时性地存储信息。存储器1520可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时性存储器1520可以是物理设备,所述物理设备用于在暂时或永久基础上存储程序(例如,指令的序列)或数据(例如,程序状态信息)以供由计算设备1500使用。非易失性存储器的示例包括但不限于闪速存储器和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电可擦除可编程只读存储器(EEPROM)(例如,通常被用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及盘或磁带。
存储设备1530能够为计算设备1500提供大容量存储。在一些实施方式中,存储设备1530是计算机可读介质。在各种不同的实施方式中,存储设备1530可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其它类似的固态存储设备或设备的阵列,包括存储区域网络或其它配置中的设备。在附加实施方式中,计算机程序产品被有形地具体实现在信息载体中。计算机程序产品包含指令,所述指令当被执行时,执行一个或更多个方法,诸如上述的那些方法。信息载体是计算机或机器可读介质,诸如存储器1520、存储设备1530或处理器1510上的存储器。
高速控制器1540管理计算设备1500的带宽密集操作,然而低速控制器1560管理较低带宽密集操作。工作负载的这种分配仅是示例性的。在一些实施方式中,高速控制器1540耦接到存储器1520、显示器1580(例如,通过图形处理器或加速器),并且耦接到高速扩展端口1550,所述高速扩展端口1550可以接受各种扩展卡(未示出)。在一些实施方式中,低速控制器1560耦接到存储设备1530和低速扩展端口1224。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口1224可以例如通过网络适配器耦接到一个或更多个输入/输出设备、诸如键盘、定点设备、扫描器或联网设备,诸如交换机或路由器。
如该图中所示,可以以许多不同的形式实现计算设备1500。例如,它可以作为标准服务器1500a被实现,或者在一组此类服务器1500a中、作为膝上型计算机1500b或者作为机架服务器系统1500c的一部分被多次实现。
可在数字电子和/或光学电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现这里所描述的系统和技术的各种实施方式。这些各种实施方式可包括一个或更多个计算机程序中的实施方式,所述一个或更多个计算机程序是在包括至少一个可编程处理器的可编程系统上可执行和/或可解释的,所述至少一个可编程处理器可以是专用的或通用的,耦接以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并且向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。
这些计算机程序(也被称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可用高级过程和/或面向对象编程语言和/或用汇编/机器语言加以实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”指代用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指代用于向可编程处理器提供机器指令和/或数据的任何信号。
本说明书中所描述的主题和功能操作的实施方式可用数字电子电路或者用计算机软件,固件或硬件(包括本说明书中所公开的结构及其结构等同物)或者用它们中的一个或更多个的组合加以实现。此外,本说明书中所描述的主题可作为一个或更多个计算机程序产品(即,在计算机可读介质上编码以供由数据处理装置执行或者控制数据处理装置的操作的计算机程序指令的一个或更多个模块)被实现。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、实现机器可读传播信号的物质的组分,或它们中的一个或更多个的组合。术语“数据处理装置”、“计算设备”和“计算处理器”包含用于处理数据的所有装置,设备和机器,作为示例包括可编程处理器、计算机或多个处理器或计算机。该装置除了包括硬件之外还可包括为考虑中的所述计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或更多个的组合的代码。传播信号是人工生成的信号,例如,被生成来对信息进行编码以便传输到适合的接收器装置的机器生成的电、光学或电磁信号。
计算机程序(也被称为应用、程序、软件、软件应用、脚本或代码)可用任何形式的编程语言来编写,所述编程语言包括编译或解释语言,并且它可以被以任何形式部署,包括作为独立程序或者作为模块、组件、子例程或适合于在计算环境中使用的其它单元。计算机程序不一定对应于文件系统中的文件。可在保持其它程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或更多个脚本)中、在专用于考虑中的所述程序的单个文件中或者在多个协调文件(例如,存储一个或更多个模块、子程序或代码的部分的文件)中存储程序。可将计算机程序部署为在一个计算机上或者在位于一个站点处或跨越多个站点分布并通过通信网络互连的多个计算机上执行。
本说明书中所描述的过程和逻辑流程可通过一个或更多个可编程处理器执行,所述一个或更多个可编程处理器执行一个或更多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可由专用逻辑电路来执行,并且装置也可作为专用逻辑电路被实现,所述专用逻辑电路例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
作为示例,适合于执行计算机程序的处理器包括通用处理器和专用微处理器两者,以及任何种类的数字计算机的任何一个或更多个处理器。一般地,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于执行指令的处理器以及用于存储指令和数据的一个或更多个存储器设备。一般地,计算机也将包括或可操作地耦接以从用于存储数据的一个或更多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或者将数据传输到所述一个或更多个大容量存储设备,或者兼而有之。然而,计算机不必具有此类设备。此外,可将计算机嵌入在另一设备中,所述另一设备例如移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器等,仅举几例。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,作为示例包括半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路来补充,或者被并入专用逻辑电路。
为了提供与用户的交互,可在计算机上实现本公开的一个或更多个方面,所述计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)、LCD(液晶显示器)监视器或触摸屏)以及可选地用户可用来向该计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)。其它种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声、语音或触觉输入。此外,计算机可通过向由用户使用的设备发送文档并从由用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收到的请求而向用户的客户端设备上的web浏览器发送web页面。
可将本公开的一个或更多个方面实现在计算系统中,所述计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有用户可通过其与本说明书中所描述的主题的实施方式交互的图形用户界面或Web浏览器的客户端计算机),或者包括一个或更多个此类后端、中间件或前端组件的任何组合。系统的组件可通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如,互联网)和对等网络(例如,自组织对等网络)。
计算系统可包括客户端和服务器。客户端和服务器一般地彼此远离并且通常通过通信网络来交互。客户端和服务器之间的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器向客户端设备发送数据(例如,HTML页面)(例如,出于向与客户端设备交互的用户显示数并且从与客户端设备交互的用户接收用户输入的目的)。可在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
虽然本说明书包含许多细节,但是这些不应当被解释为对本公开的范围或可以要求保护的范围构成限制,而是相反被解释为特定于本公开的特定实施方式的特征的描述。也可在单个实施方式中相结合地实现在本说明书中在单独的实施方式的上下文中描述的某些特征。相反地,也可单独地在多个实施方式中或者按照任何适合的子组合来实现在单个实施方式的上下文中描述的各种特征。此外,尽管特征可以在上面被描述为按照某些组合起作用并因此甚至最初要求保护,然而来自要求保护的组合的一个或更多个特征可在一些情况下被从该组合中删去,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定次序描述操作,但是这不应当被理解为要求按照所示出的特定次序或按照顺序次序执行此类操作,或者要求执行所有例示的操作以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,上述的实施例中的各种系统组件的分离不应当被理解为在所有实施例中要求这种分离,并且应当理解的是,所描述的程序组件和系统一般地可被一起集成在单个软件产品中或者封装到多个软件产品中。
已经对许多实施方式进行了描述。然而,应理解的是,可在不脱离本公开的精神和范围的情况下作出各种修改。因此,其它实施方式在以下权利要求的范围内。例如,权利要求中记载的动作可被以不同的次序执行并仍然实现所希望的结果。

Claims (40)

1.一种方法,所述方法包括:
在数据处理硬件处通过与所述数据处理硬件通信的用户设备来接收第一搜索查询;
将所述第一搜索查询从所述数据处理硬件发送到查询分析系统和第一搜索系统;
在所述数据处理硬件处从所述第一搜索系统接收第一搜索结果;
在所述数据处理硬件处从所述查询分析系统接收查询信息,所述查询信息包括第二搜索系统的应用编程接口的应用编程接口信息;
从所述数据处理硬件向所述第二搜索系统的所述应用程序接口发送第二搜索查询,所述第二搜索查询基于所述查询信息;
在所述数据处理硬件处从所述第二搜索系统接收第二搜索结果;
由所述数据处理硬件确定包括所述第一搜索结果和所述第二搜索结果中的至少一些的结果集合,至少一个搜索结果包括具有到所述用户设备上的对应已安装的应用的引用并且指示针对所述对应已安装的应用的可执行操作的应用访问机制;以及
由所述数据处理硬件将所述结果集合显示在屏幕上的用户界面中。
2.根据权利要求1所述的方法,进一步包括由所述数据处理硬件基于所述查询信息和/或所述第一搜索查询在搜索系统的合集当中识别所述第二搜索系统。
3.根据权利要求2所述的方法,进一步包括由所述数据处理硬件基于所述查询信息和所述第一搜索查询来确定针对所述第二搜索系统的所述第二搜索查询。
4.根据权利要求1所述的方法,进一步包括将所述结果集合的每个搜索结果作为用户可选择的链接显示在所述用户界面中,每个搜索结果具有与所对应的用户可选择的链接相关联的关联应用访问机制。
5.根据权利要求4所述的方法,进一步包括:
在所述数据处理硬件处接收用户对所述用户可选择的链接中的一个的选择;以及
在所述数据处理硬件处执行与所选择的用户可选择的链接相关联的所述应用访问机制。
6.根据权利要求5所述的方法,其中,所执行的与所选择的用户可选择的链接相关联的应用访问机制启动所述用户设备上的所述对应已安装的应用并且将所述安装的应用设定为由所述应用访问机制指定的应用状态。
7.根据权利要求1所述的方法,其中,所述查询信息包括搜索结果显示数据。
8.根据权利要求7所述的方法,进一步包括由所述数据处理硬件使用所述搜索结果显示数据来为所述第一搜索结果中的每一个和/或所述第二搜索结果中的每一个生成结果分数。
9.根据权利要求8所述的方法,进一步包括由所述数据处理硬件基于所对应的结果分数来对所述第一搜索结果和/或所述第二搜索结果进行排名。
10.根据权利要求9所述的方法,进一步包括按照基于所对应的结果分数的次序将所述结果集合的所述搜索结果显示在所述用户界面中。
11.一种系统,所述系统包括:
数据处理硬件;
与所述数据处理硬件通信的用户设备的屏幕;以及
与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储有指令,所述指令在所述数据处理硬件上执行时使所述数据处理硬件执行包括以下步骤的操作:
在所述数据处理硬件处接收第一搜索查询;
将所述第一搜索查询从所述数据处理硬件发送到查询分析系统和第一搜索系统;
从所述第一搜索系统接收第一搜索结果;
从所述查询分析系统接收查询信息,所述查询信息包括第二搜索系统的应用编程接口的应用编程接口信息;
从所述数据处理硬件向所述第二搜索系统的所述应用程序接口发送第二搜索查询,所述第二搜索查询基于所述查询信息;
从所述第二搜索系统接收第二搜索结果;
确定包括所述第一搜索结果和所述第二搜索结果中的至少一些的结果集合,至少一个搜索结果包括具有到所述用户设备上的对应已安装的应用的引用并且指示针对所述对应已安装的应用的可执行操作的应用访问机制;以及
将所述结果集合显示在屏幕上的用户界面中。
12.根据权利要求11所述的系统,其中,所述操作进一步包括基于所述查询信息和/或所述第一搜索查询在搜索系统的合集当中识别所述第二搜索系统。
13.根据权利要求12所述的系统,其中,所述操作进一步包括基于所述查询信息和所述第一搜索查询来确定针对所述第二搜索系统的所述第二搜索查询。
14.根据权利要求11所述的系统,其中,所述操作进一步包括将所述结果集合的每个搜索结果作为用户可选择的链接显示在所述用户界面中,每个搜索结果具有与所对应的用户可选择的链接相关联的关联应用访问机制。
15.根据权利要求14所述的系统,其中,所述操作进一步包括:
接收用户对所述用户可选择的链接中的一个的选择;以及
执行与所选择的用户可选择的链接相关联的所述应用访问机制。
16.根据权利要求15所述的系统,其中,所执行的与所选择的用户可选择的链接相关联的应用访问机制启动所述用户设备上的所述对应已安装的应用并且将所述安装的应用设定为由所述应用访问机制指定的应用状态。
17.根据权利要求11所述的系统,其中,所述查询信息包括搜索结果显示数据。
18.根据权利要求17所述的系统,其中,所述操作进一步包括使用所述搜索结果显示数据来为所述第一搜索结果中的每一个和/或所述第二搜索结果中的每一个生成结果分数。
19.根据权利要求18所述的系统,其中,所述操作进一步包括基于所对应的结果分数来对所述第一搜索结果和/或所述第二搜索结果进行排名。
20.根据权利要求19所述的系统,其中,所述操作进一步包括按照基于所对应的结果分数的次序将所述结果集合的所述搜索结果显示在所述用户界面中。
21.一种方法,所述方法包括:
在数据处理硬件处从与所述数据处理硬件通信的用户设备接收第一搜索查询;
将所述第一搜索查询从所述数据处理硬件发送到查询分析系统和第一搜索系统;
在所述数据处理硬件处从所述第一搜索系统接收第一搜索结果;
在所述数据处理硬件处从所述查询分析系统接收基于所述第一搜索查询的查询信息,所述查询信息包括第二搜索系统的应用编程接口的应用编程接口信息;
从所述数据处理硬件向所述第二搜索系统的所述应用程序接口发送第二搜索查询,所述第二搜索查询基于所述查询信息;
在所述数据处理硬件处从所述第二搜索系统接收第二搜索结果;
从所述数据处理硬件向所述用户设备发送结果集合,所述结果集合包括在所述用户设备上显示的所述第一搜索结果和所述第二搜索结果中的至少一些,至少一个搜索结果包括具有到所述用户设备上的对应已安装的应用的引用并且指示针对所述对应已安装的应用的可执行操作的应用访问机制。
22.根据权利要求21所述的方法,进一步包括由所述数据处理硬件基于所述查询信息和/或所述第一搜索查询在搜索系统的合集当中识别所述第二搜索系统。
23.根据权利要求22所述的方法,进一步包括由所述数据处理硬件基于所述查询信息和所述第一搜索查询来确定针对所述第二搜索系统的所述第二搜索查询。
24.根据权利要求21所述的方法,其中,所述应用访问机制被配置为启动所述用户设备上的所述对应已安装的应用并且将所述安装的应用设定为由所述应用访问机制指定的应用状态。
25.根据权利要求21所述的方法,其中,所述查询信息包括搜索结果显示数据。
26.根据权利要求25所述的方法,进一步包括由所述数据处理硬件使用所述搜索结果显示数据来为所述第一搜索结果中的每一个和/或所述第二搜索结果中的每一个生成结果分数。
27.根据权利要求26所述的方法,进一步包括由所述数据处理硬件基于所对应的结果分数来对所述第一搜索结果和/或所述第二搜索结果进行排名。
28.一种方法,所述方法包括:
在数据处理硬件处通过显示在用户设备的屏幕上的用户界面来接收第一搜索查询;
将所述第一搜索查询从所述数据处理硬件发送到查询分析系统和第一搜索系统;
在所述数据处理硬件处从所述查询分析系统接收查询信息,所述查询信息包括第二搜索系统的应用编程接口的应用编程接口信息;
从所述数据处理硬件向所述第二搜索系统的所述应用程序接口发送第二搜索查询,所述第二搜索查询基于所述查询信息;
在所述数据处理硬件处接收来自所述第一搜索系统的第一搜索结果和来自所述第二搜索系统的第二搜索结果;
由所述数据处理硬件确定包括所述第一搜索结果和所述第二搜索结果中的至少一些的结果集合,至少一个搜索结果包括具有到所述用户设备上的对应已安装的应用的引用并且指示针对所述对应已安装的应用的可执行操作的应用访问机制;以及
由所述数据处理硬件将所述结果集合显示在所述屏幕上的所述用户界面中。
29.根据权利要求28所述的方法,其中,所述查询信息包括以下至少一种:
应用编程接口选择数据,所述应用编程接口选择数据包括与所述第一搜索查询相关联的一个或更多个查询解析;
应用编程接口查询数据,所述应用编程接口查询数据包括一个或更多个应用编程接口请求或用于生成所述应用编程接口的指令;或
搜索结果显示数据。
30.根据权利要求29所述的方法,其中,每个查询解析包括文本字符串、与所述文本字符串相关联的域或与所述域相关联的概率值。
31.根据权利要求29所述的方法,其中,每个应用编程接口请求与针对拼写而校正的、基于实体和/或位置匹配而修改的和/或针对应用编程接口而参数化的所述第一搜索查询的版本相关联。
32.根据权利要求29所述的方法,其中,所述数据处理硬件是所述用户设备本地的。
33.根据权利要求28所述的方法,进一步包括由所述数据处理硬件基于所述查询信息和/或所述第一搜索查询在搜索系统的合集当中识别所述第二搜索系统。
34.根据权利要求33所述的方法,进一步包括由所述数据处理硬件基于所述查询信息和所述第一搜索查询来确定针对所述第二搜索系统的所述第二搜索查询。
35.根据权利要求28所述的方法,进一步包括将所述结果集合的每个搜索结果作为用户可选择的链接显示在所述用户界面中,每个搜索结果具有与所对应的用户可选择的链接相关联的关联应用访问机制。
36.根据权利要求35所述的方法,进一步包括:
在所述数据处理硬件处接收用户对所述用户可选择的链接中的一个的选择;以及
在所述数据处理硬件处执行与所选择的用户可选择的链接相关联的所述应用访问机制。
37.根据权利要求36所述的方法,其中,所执行的与所选择的用户可选择的链接相关联的应用访问机制启动所述用户设备上的所述对应已安装的应用并且将所述安装的应用设定为由所述应用访问机制指定的应用状态。
38.根据权利要求28所述的方法,其中,所述查询信息包括搜索结果显示数据。
39.根据权利要求38所述的方法,进一步包括由所述数据处理硬件使用所述搜索结果显示数据来为所述第一搜索结果中的每一个和/或所述第二搜索结果中的每一个生成结果分数。
40.根据权利要求39所述的方法,进一步包括由所述数据处理硬件基于所对应的结果分数来对所述第一搜索结果和/或所述第二搜索结果进行排名。
CN201680047881.XA 2015-08-12 2016-08-12 分叉搜索 Active CN107924413B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/824,862 2015-08-12
US14/824,862 US10120951B2 (en) 2015-08-12 2015-08-12 Bifurcated search
PCT/IB2016/054874 WO2017025938A1 (en) 2015-08-12 2016-08-12 Bifurcated search

Publications (2)

Publication Number Publication Date
CN107924413A true CN107924413A (zh) 2018-04-17
CN107924413B CN107924413B (zh) 2022-02-18

Family

ID=57984200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680047881.XA Active CN107924413B (zh) 2015-08-12 2016-08-12 分叉搜索

Country Status (3)

Country Link
US (1) US10120951B2 (zh)
CN (1) CN107924413B (zh)
WO (1) WO2017025938A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021238555A1 (zh) * 2020-05-26 2021-12-02 北京三快在线科技有限公司 信息搜索

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9883319B2 (en) * 2016-05-24 2018-01-30 Paypal, Inc. Mobile application configurations to enable data transfers
US20170357661A1 (en) * 2016-06-12 2017-12-14 Apple Inc. Providing content items in response to a natural language query
US9753745B1 (en) * 2016-08-17 2017-09-05 TCL Research America Inc. System and method for system function-flow optimization utilizing application programming interface (API) profiling
US11252155B2 (en) * 2018-07-26 2022-02-15 Comcast Cable Communications, Llc Systems and methods for on-network device identification
US10956507B2 (en) * 2018-08-16 2021-03-23 Rovi Guides, Inc. Reaction compensated result selection
CN110929135B (zh) * 2019-11-15 2023-01-06 泰康保险集团股份有限公司 一种查询处理方法和装置
KR20230124884A (ko) * 2020-08-17 2023-08-28 브랜치 메트릭스 인코포레이티드 원격 시스템 업데이트를 사용하는 온디바이스 기능

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040215607A1 (en) * 2003-04-25 2004-10-28 Travis Robert L. Method and system fo blending search engine results from disparate sources into one search result
US20090150351A1 (en) * 2007-12-07 2009-06-11 Roche Diagnostics Operations, Inc. Method and system for querying a database
US20100131514A1 (en) * 2004-06-23 2010-05-27 Ebm Technologies Incorporated Real-time automatic searching system for medical image and method for using the same
US8260774B1 (en) * 2009-11-19 2012-09-04 Quewey Holding, Inc. Personalization search engine
CN103136237A (zh) * 2011-11-28 2013-06-05 深圳市腾讯计算机系统有限公司 一种基于多数据源的信息搜索方法和系统
US20130275164A1 (en) * 2010-01-18 2013-10-17 Apple Inc. Intelligent Automated Assistant
CN103608810A (zh) * 2011-06-14 2014-02-26 微软公司 使用来自外部数据源的数据来丰富数据库查询响应
CN103995846A (zh) * 2014-05-06 2014-08-20 百度在线网络技术(北京)有限公司 应用信息的搜索方法及其装置
US20140358887A1 (en) * 2013-05-29 2014-12-04 Microsoft Corporation Application content search management

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102483753A (zh) * 2009-05-27 2012-05-30 谷歌公司 搜索结果中的计算机应用数据
US20150207800A1 (en) * 2010-05-18 2015-07-23 Google Inc Systems and methods for enabling access to a web application
US20120124061A1 (en) * 2010-11-12 2012-05-17 Microsoft Corporation Rich Search Over and Deep Integration with Applications
US9311407B2 (en) * 2013-09-05 2016-04-12 Google Inc. Native application search results

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040215607A1 (en) * 2003-04-25 2004-10-28 Travis Robert L. Method and system fo blending search engine results from disparate sources into one search result
US20100131514A1 (en) * 2004-06-23 2010-05-27 Ebm Technologies Incorporated Real-time automatic searching system for medical image and method for using the same
US20090150351A1 (en) * 2007-12-07 2009-06-11 Roche Diagnostics Operations, Inc. Method and system for querying a database
US8260774B1 (en) * 2009-11-19 2012-09-04 Quewey Holding, Inc. Personalization search engine
US20130275164A1 (en) * 2010-01-18 2013-10-17 Apple Inc. Intelligent Automated Assistant
CN103608810A (zh) * 2011-06-14 2014-02-26 微软公司 使用来自外部数据源的数据来丰富数据库查询响应
CN103136237A (zh) * 2011-11-28 2013-06-05 深圳市腾讯计算机系统有限公司 一种基于多数据源的信息搜索方法和系统
US20140358887A1 (en) * 2013-05-29 2014-12-04 Microsoft Corporation Application content search management
CN103995846A (zh) * 2014-05-06 2014-08-20 百度在线网络技术(北京)有限公司 应用信息的搜索方法及其装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
韩双旺: "一种基于XML的WebGIS多源异构数据集成方案", 《中央民族大学学报(自然科学版)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021238555A1 (zh) * 2020-05-26 2021-12-02 北京三快在线科技有限公司 信息搜索

Also Published As

Publication number Publication date
WO2017025938A1 (en) 2017-02-16
US20170046436A1 (en) 2017-02-16
US10120951B2 (en) 2018-11-06
CN107924413B (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
US10338898B2 (en) State-specific external functionality for software developers
US10310834B2 (en) Searching and accessing application functionality
CN107924413A (zh) 分叉搜索
US9626443B2 (en) Searching and accessing application functionality
CN105009070B (zh) 计算机应用促进
US7890957B2 (en) Remote management of an electronic presence
US10114898B2 (en) Providing additional functionality with search results
US20100331016A1 (en) Location-based promotion for a mobile communication network
US20150242421A1 (en) Location-Based Searching
US10031725B2 (en) Entity-based external functionality for software developers
US20100302056A1 (en) Location discovery system and method
US20100305855A1 (en) Location relevance processing system and method
US20080065974A1 (en) Template-based electronic presence management
US20170315788A1 (en) Dynamic Entity Inference for Developer Integration of Entity-Based External Functionality
CN103930920A (zh) 在社交网络服务中将内容共享到发现的内容流
CN104115147B (zh) 位置感知应用搜索
US20170193059A1 (en) Searching For Applications Based On Application Usage
US9946794B2 (en) Accessing special purpose search systems
CN112868003A (zh) 使用用户互动度的基于实体的搜索系统
US20170103073A1 (en) Identifying Expert Reviewers
US20160371389A1 (en) Method of presenting information on a search result page
Aaron Jr AppXimity: a context-aware mobile application management framework
Dewasurendra Sappu Savari-Location Based Advertising & Marketing System

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant