CN108717437B - 搜索结果展示方法、装置及存储介质 - Google Patents
搜索结果展示方法、装置及存储介质 Download PDFInfo
- Publication number
- CN108717437B CN108717437B CN201810466712.0A CN201810466712A CN108717437B CN 108717437 B CN108717437 B CN 108717437B CN 201810466712 A CN201810466712 A CN 201810466712A CN 108717437 B CN108717437 B CN 108717437B
- Authority
- CN
- China
- Prior art keywords
- search result
- search
- result display
- information
- display
- 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.)
- Active
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例公开了一种搜索结果的展示方法,包括:获取在页面上输入的搜索关键词,并将所述搜索关键词发送给搜索服务器;接收搜索服务器返回的搜索结果数据;根据所述搜索结果数据以及搜索结果展示模板,生成对应的搜索结果展示卡片;其中,所述搜索结果展示模板用于定义搜索结果数据的展示格式,所述搜索结果展示卡片包含所述展示格式的所述搜索结果数据;及将所述搜索结果展示卡片提供给所述页面进行展示。
Description
技术领域
本申请涉及互联网技术领域,特别涉及一种搜索结果展示方法、装置及存储介质。
背景技术
随着互联网的发展,用户可以方便地利用搜索引擎搜索到各种信息。例如,用户输入关键词,搜索引擎从数据库中找到匹配该关键词的网页。为了用户便于判断,除了网页标题和统一资源定位符URL外,搜索引擎还会提供一段来自网页的摘要以及其他信息。
搜索引擎从广义上可以将其划分为通用搜索引擎和垂直搜索引擎。
通用搜索引擎搜索范围广,检索到的信息量大,信息覆盖范围广,同时引擎更新信息速度快。垂直搜索引擎是针对某一个特定行业的专业搜索引擎,是通用搜索引擎的细分和延伸。垂直搜索引擎是相对通用搜索引擎的信息量大、查询不准确、深度不够等提出来的新的搜索引擎服务模式。
技术内容
本申请一些实施例提供了一种搜索结果展示方法、装置及储存介质。
本申请实施例提供的搜索结果展示方法包括:
获取在页面上输入的搜索关键词,并将所述搜索关键词发送给搜索服务器;
接收搜索服务器返回的搜索结果数据;
根据所述搜索结果数据以及搜索结果展示模板,生成对应的搜索结果展示卡片;其中,所述搜索结果展示模板用于定义搜索结果数据的展示格式,所述搜索结果展示卡片包含所述展示格式的所述搜索结果数据;及
将所述搜索结果展示卡片提供给所述页面进行展示。
本申请实施例提供的一种搜索结果展示装置包括:
获取模块,用于获取在页面上输入的搜索关键词,并将所述搜索关键词发送给搜索服务器;
接收模块,用于接收搜索服务器返回的搜索结果数据;
生成模块,用于根据所述搜索结果数据以及搜索结果展示模板,生成对应的搜索结果展示卡片;其中,所述搜索结果展示模板用于定义搜索结果数据的展示格式,所述搜索结果展示卡片包含所述展示格式的所述搜索结果数据;及
发送模块,用于将所述搜索结果展示卡片提供给所述页面进行展示。
本申请实施例还提供了一种非易失性计算机可读存储介质,其中所述存储介质中存储有机器可读指令,所述机器可读指令可以由处理器执行以完成上述方法。
在本申请实施例提供的技术方案中,在收到所述服务器返回的搜索结果数据之后,通过对搜索结果数据的解析和处理,可以将搜索结果以搜索结果展示卡片的形式展现给用户,使得用户可以直接点击搜索结果展示卡片,从而直接进入所搜索的内容。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1为本申请一些实施例中的操作环境示意图;
图2为本申请一些实施例提供的搜索结果展示方法的流程图;
图3为本申请一些实施例中的生成搜索结果展示卡片的流程图;
图4为本申请一些实施例中搜索结果展示模板的示意图;
图5为本申请一些实施例中的生成搜索结果展示卡片的另一流程图;
图6为本申请一些实施例中一种页面示意图;
图7为本申请一些实施例中搜索结果展示方法的示意图;
图8为本申请一些实施例中搜索结果展示装置的架构示意图;
图9为本申请一些实施例中搜索结果展示装置的结构示意图;及
图10为本申请一些实施例中搜索结果展示装置的另一结构示意图。
具体实施方式
为使本申请的技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请进一步详细说明。
本申请实施例提供了一种搜索结果展示方法。在本申请实施例提供的方法中,通过结构化的展示模板对搜索结果进行展示,使得用户可以直接进入所搜索的内容。
在本申请一些实施例中,可以获取在用户页面上输入的搜索关键词,并将所述搜索关键词发送给搜索服务器;接收搜索服务器返回的搜索结果数据;根据所述搜索结果数据以及搜索结果展示模板,生成对应的搜索结果展示卡片;其中,所述搜索结果展示模板用于定义搜索结果数据的展示格式,所述搜索结果展示卡片包含所述展示格式的所述搜索结果数据;及将所述搜索结果展示卡片提供给所述页面进行展示。
通过本申请实施例提供的方法,在收到所述服务器返回的搜索结果数据之后,通过对搜索结果数据的解析和处理,可以将搜索结果以搜索结果展示卡片的形式展现给用户,使得用户可以直接点击搜索结果展示卡片,从而直接进入所搜索的内容专区。
此外,本申请实施例提供的方法可以通过一个应用组件来实现,即,可以将本申请实施例提供的方法封装为一个应用组件,该应用组件可以与用户设备中安装的其他应用程序合作完成搜索功能。这样,第三方应用程序无需针对搜索功能进行复杂的长时间的开发工作,只需要通过与应用组件之间的接口,接收所述搜索结果展示卡片就可以直接向用户展示搜索结果。
图1为本申请一些实施例中的操作环境100的示意图。如图1所示,多个用户各自的终端设备(例如用户设备104-a至104-c)分别通过网络106连接至搜索服务器112。
在一些实施例中,每个用户通过在用户设备104上执行的应用程序109-a至109-c和应用组件108-a至108-c连接至搜索服务器112。应用程序109与应用组件108之间具有通信接口,用于实现二者之间的数据传递和交互。所述应用组件108可以是所述应用程序109内的一个组件。
搜索服务器112维护数据库114,所述数据库114中保存有网络数据,用于向用户设备104提供数据搜索服务。
当用户在应用程序109的页面上输入搜索关键字时,应用组件108通过与应用程序109之间的接口获取所述搜索关键字,并将所述搜索关键字通过搜索请求消息发送给搜索服务器112。
在一些实施例中,所述搜索服务器112可以接收应用组件108的搜索请求消息,根据所述应用组件108的搜索请求消息中携带的搜索关键字,获取对应的搜索结果数据,并向所述应用组件108返回所述搜索结果数据。
所述搜索服务器112可以将所述搜索关键字分发给一个或者多个搜索引擎。当搜索服务器将搜索关键字分发给多个搜索引擎时,所述搜索服务器可以接收多个搜索引擎返回的搜索结果,根据预设的规则将多个搜索结果组织成最终的搜索结果数据,返回给应用组件108。
当搜索服务器112返回搜索结果数据后,应用组件108接收所述搜索结果数据,解析所述搜索结果数据,并根据搜索结果展示模板生成搜索结果展示卡片,通过与应用程序109之间的接口将所生成的搜索结果展示卡片提供给应用程序109进行展示。
在一些实施例中,所述搜索结果展示模板用于定义搜索结果数据的展示格式,所述搜索结果展示卡片包含所述展示格式的所述搜索结果数据。
在一些实施例中,所述搜索结果数据为根据所述搜索关键字确定的网络服务的相关数据;所述搜索结果数据包括:所述网络服务的描述信息、以及所述网络服务所提供的服务功能的入口信息。
在一些实施例中,搜索服务器112返回的描述信息和入口信息可以包含多个信息字段,每个信息字段包含该信息字段的关键字及取值。例如,搜索结果数据可以包含:图标字段(如,{icon:http://www.info.com})、名称字段(如,{name:XX金融})、相关信息字段(如,{info:36.22M|1089万次下载})、等级字段(如,{star:5})、等等。针对不同类型的网络服务,搜索服务器112返回的搜索结果可以包含不同的信息字段。
在收到搜索结果数据之后,应用组件108可以根据所述搜索结果展示模板,从所述描述信息和所述入口信息中解析出一个或者多个信息字段;将所述一个或者多个信息字段的取值,填充到所述搜索结果展示模板中,以生成所述搜索结果展示卡片。
应用组件108中可以预先保存搜索结果展示模板。所述搜索结果展示模板中包含一个或多个展示位置,每个展示位置分别对应不同的关键字。根据搜索结果展示模板中包含的展示位置对应的关键字,应用组件108可以从描述信息和入口信息中解析出具有相同关键字的信息字段。
在一些实施例中,所述搜索结果数据进一步包括:所述网络服务对应的服务类型字段(如,{Type=APP})。对于不同的服务类型,例如应用(APP)类型、网页类型等等,应用组件108可以预先设置不同的展示模板。
此时,所述应用组件108可以从所述搜索结果数据中解析出所述网络服务对应的服务类型;根据所述服务类型,从多个搜索结果展示模板中,选择与该服务类型对应的搜索结果展示模板;根据所述搜索结果展示模板,从所述描述信息和所述入口信息中解析出一个或者多个信息字段;然后将所述一个或者多个信息字段的内容,填充到所述搜索结果展示模板中,以生成所述搜索结果展示卡片。
在一些实施例中,对于不同的用户设备平台(Android平台,iOS平台),应用组件108可以使用相同的搜索结果展示模板,从而节省用户设备104的存储空间,提高用户设备104的处理效率。针对不同平台,通过应用组件108中的解释器可以将所生成的搜索结果展示卡片解释成对应的平台能够理解的展现方式。例如,对于Android平台,解释器可以使用Java语言将搜索结果展示卡片翻译成Android平台能够理解的形式,从而通过页面展示给用户。
对于应用程序109来说,通过本申请实施例提供的方案,不必针对各种网络服务进行复杂的开发、调试、灰度上线等一系列的工作,就可以直接向用户展示各种网络服务对应的卡片,让用户可以直接进入所搜索的服务专区,实现了应用程序的迅速上线,并且能够兼容Android,iOS双平台。
通过本申请实施例提供的方案,针对搜索功能涉及的终端逻辑部分进行了统一封装和设计,可以构建通用的展示方案,分别生成Android和iOS的应用组件(例如,软件开发工具包,Software Development Kit,SDK)。应用程序仅需要接入对应的应用组件既可以实现低成本的接入。
在一些实施例中,用户设备104的示例包括但不限于掌上型计算机、可穿戴计算设备、个人数字助理(PDA)、平板计算机、笔记本电脑、台式计算机、智能手机、或任意两个或更多的这些数据处理设备或其他数据处理设备的组合。
在一些实施例中,网络106可以包括局域网(LAN)和广域网(WAN)诸如互联网。可以使用任意公知的网络协议来实现网络106,包括各种有线或无线协议。
在一些实施例中,所述搜索服务器112可以在一个或多个独立的数据处理装置或分布式计算机网络上实现。
图2为本申请一些实施例中一种搜索结果展示方法的流程图。该方法可以由图1所示的用户设备104中的应用组件108执行。如图2所示,该方法包括以下操作:
S201,获取在页面上输入的搜索关键词,并将所述搜索关键词发送给搜索服务器。
在一些实施例中,应用组件可以获取用户在应用程序的页面上输入的搜索关键词,向搜索服务器发送搜索请求消息,其中所述搜索请求消息中携带所述搜索关键字。
用户设备中可以安装有应用程序,所述应用程序包含一个用于辅助所述应用程序提供搜索功能的应用组件,该应用组件与应用程序共同协作向用户提供搜索服务。
在一些实施例中,应用组件可以通过软件开发工具包(Software DevelopmentKit,SDK)来实现。通过所述应用组件,可以辅助应用程序向搜索服务器发送搜索请求消息,接收搜索服务器返回的搜索结果数据,对搜索结果数据进行解析并进行展示。从而使得应用程序无需进行复杂的、长时间的开发工作,就可以为用户提供搜索服务。
在一些实施例中,为了实现应用程序与应用组件之间的数据传递与交互,需要在所述应用程序与所述应用组件之间定义一些接口。这样,应用组件可以通过与所述应用程序之间的接口,获取所述用户在所述应用程序的页面上输入的搜索关键字,以及将生成的搜索结果展示卡片发送给应用程序进行展示。例如,可以预先定义接口函数getSearchInfo(String userInput),通过该接口函数,应用组件可以获取到用户在应用程序的页面上输入的搜索关键字。
获取到用户输入的搜索关键字之后,应用组件将所述搜索关键字携带在搜索请求消息中,发送给搜索服务器。
搜索服务器根据收到的搜索请求消息中携带的搜索关键字执行搜索操作,并将搜索结果数据通过搜索请求响应消息返回给应用组件。
在一些实施例中,所述搜索服务器可以是具有垂直搜索能力的搜索服务器,也可以是具有通用搜索能力的搜索服务器,本申请实施例对此不做限定。
S202,接收搜索服务器返回的搜索结果数据。
在本申请一些实施例中,应用组件可以接收搜索服务器返回的搜索请求响应消息,所述搜索请求响应消息中携带与所述搜索关键字对应的搜索结果数据。
在一些实施例中,搜索服务器返回的搜索结果数据中包含多个信息字段,每个信息字段包含该信息字段的关键字及取值。针对不同的网络服务,搜索服务器返回的搜索结果可以包含不同的信息字段。
在收到搜索结果之后,应用组件可以根据展示模板的需要,提取出相应字段的取值,填充到搜索结果展示模板中的相应位置中。
在一些实施例中,所述搜索服务器可以为具有垂直搜索能力的搜索服务器,所述搜索结果数据可以是所述搜索服务器通过垂直搜索而得到的搜索结果数据。相应的,所述搜索结果数据可以包含根据所述搜索关键字确定的用户所需的网络服务的相关信息。
在一些实施例中,所述搜索结果数据可以包括:所述网络服务的描述信息、以及所述网络服务所提供的服务功能的入口信息,其中所述描述信息和入口信息分别包含一个或多个信息字段。所述搜索结果数据还可以进一步包含所述网络服务的服务类型(如,{Type=APP})。
当所述服务类型可以是应用时,所述网络服务的描述信息包括以下一个或多个信息字段:图标信息字段(如,{icon:http://www.info.com})、名称字段(如,{name:XX金融})、相关信息字段(如,{info:36.22M|1089万次下载})、等级字段(如,{star:5});所述入口信息包括:所述应用的下载字段(如{btn:极速下载})。
当所述服务类型可以为网页时;所述网络服务的描述信息包括以下一个或多个:图标信息字段(如,{icon:http://www.info1.com})、名称字段(如,{name:XX商城})、网址信息(如,{http:m.xx.com});所述入口信息包括:打开链接(如{btn:打开})。
S203,根据所述搜索结果数据以及搜索结果展示模板,生成对应的搜索结果展示卡片。
在一些实施例中,所述搜索结果展示模板用于定义搜索结果的展示格式,所述搜索结果展示卡片包含所述展示格式的所述搜索结果数据。
在收到上述搜索结果数据之后,应用组件将其转化成结构化的展示方式,即搜索结果展示卡片,从而展示给用户。
为了将搜索结果数据转化为搜索结果展示卡片,应用组件中保存有一个或者多个展示模板,用于定义搜索结果的不同展示格式。从而,所述搜索结果展示卡片可以按照所述展示格式,在所述页面上展示所述搜索结果。
S204,将所述搜索结果展示卡片提供给所述页面进行展示。
在一些实施例中,应用组件可以通过与所述应用程序之间的第二接口,将所述搜索结果展示卡片提供给所述应用程序进行展示。
应用程序在收到搜索结果展示卡片之后,可以直接将搜索结果展示卡片显示给用户。
下面结合图3和图5,对S203中生成搜索结果展示卡片的过程进行说明。图3是本申请一些实施例中生成搜索结果展示卡片的流程图。
如图3所示,该过程可以包括以下操作:
S301,应用组件根据搜索结果展示模板,从所述描述信息和所述入口信息中解析出一个或者多个信息字段。
应用组件中可以预先保存搜索结果展示模板。图4为本申请一些实施例中一个搜索结果展示模板的示意图。如图4所示,该模板包含5个展示位置401~405,每个展示位置分别对应不同的关键字。例如,展示位置401的关键字可以是icon(网络服务的图标),表示该展示位置用于放置关键字为icon的信息字段的取值,展示位置402对应的关键字可以是name(网络服务的名称),表示该展示位置用于放置关键字为name的信息字段的取值,等等。
根据搜索结果展示模板中包含的展示位置对应的关键字,应用组件可以从搜索结果数据中解析出具有相同关键字的信息字段。
如上所述,所述搜索结果数据可以包括:所述网络服务的描述信息、以及所述网络服务所提供的服务功能的入口信息。在一些实施例中,所述描述信息和入口信息分别包含至少一个信息字段、其中每个信息字段包含关键字及该信息字段的取值。例如,{icon:http//www.info.com}为一个信息字段,其关键字为icon,取值为http//www.info.com;又比如,{info:36.22M|1089万次安装}信息字段的关键字为info,取值为36.22M|1089万次安装。
在一些实施例中,应用组件可以根据所述搜索结果展示模板中各个展示位置对应的关键字,从所述描述信息和所述入口信息中解析出与各个展示位置具有相应关键字的信息字段。
S302,将所述一个或者多个信息字段的内容,填充到所述搜索结果展示模板中,以生成所述搜索结果展示卡片。
在一些实施例中,应用组件可以根据每个信息字段的关键字,将该信息字段的取值,填充到搜索结果展示模板中具有相应关键字的展示位置中。
在一些实施例中,对于不同的服务类型,例如应用(APP)类型、网站类型等等,应用组件可以预先设置不同的展示模板。
在执行填充操作之前,应用组件先从所述多个搜索结果展示模板中选择一个搜索结果展示模板,然后再将解析出的内容分别填充到所选择的搜索结果展示模板中。
参见图5,图5为本申请一些实施例中生成搜索结果展示卡片的流程图。如图5所示,该过程包括以下操作:
S501,应用组件从所述搜索结果数据中解析出所述网络服务对应的服务类型。
在一些实施例中,搜索结果数据中可以包括Type信息字段,应用组件可以从搜索结果数据中解析出该信息字段,如{Type=APP}。
之后,应用组件可以根据该信息字段,确定网络服务的服务类型为APP。
S502,根据所述服务类型,从多个搜索结果展示模板中,选择与该服务类型对应的搜索结果展示模板。
在一些实施例中,应用组件中存储有一个模板列表,所述模板列表中包含与各个服务类型对应的搜索结果展示模板。
例如,表1示出了一个示例性的搜索结果展示模板的模板列表。该列表中包含有各种不同类型的网络服务对应的搜索结果展示模板。
表1
如表1所示,对于每种服务类型,模板列表中都记录有对应的搜索结果展示模板的样式,以及模板中各个展示位置的说明。通过该模板列表,可以看出对于每个搜索结果展示模板,预先定义了其中每个展示位置对应的展示内容。例如,展示位置id:1用于放置关键字为icon的信息字段,展示位置id:2用于放置关键字为name的信息字段,等等。
S503,根据所述搜索结果展示模板,从所述描述信息和所述入口信息中解析出一个或者多个信息字段。
在确定了要使用的搜索结果展示模板之后,应用组件根据该展示模板的说明,确定出需要向该展示模板中填充哪些信息,然后应用组件从搜索结果数据中解析出这些数据。例如,对于表1中与APP类型对应的展示模板,应用组件需要从描述信息和入口信息中解析出以下信息字段:icon,name,star,info,btn。
S504,将所述一个或者多个信息字段的内容,填充到所述搜索结果展示模板中,以生成所述搜索结果展示卡片。
根据步骤S503所确定的各个信息字段的关键字,应用组件可以从搜索结果数据中解析出相应的信息字段的取值。例如,应用组件可以解析出如下信息:{icon:http://www.info.com},{name:XX金融},{star:5},{info:36.22M|1089万次安装},{btn:极速下载}。
之后,应用组件可以根据各个信息字段对应的关键字,将解析出来的信息填充到搜索结果展示模的对应展示位置中。
在一些实施例中,针对同一个类型的网络服务(如APP类型),还可以包含多个搜索结果展示模板。例如,对于游戏APP、购物APP、网银APP、等等,分别设置不同的搜索结果展示模板。
此时,除了解析出当前网络服务是哪种类型(如APP类型、网页类型、快递服务类型),应用组件还需要从搜索结果数据中解析出该网络服务是该服务类型中的哪个子类型。例如,当前网络服务属于APP类型下的游戏APP、或者购物APP、或者网银APP,等等。
例如,表2示出了另一个示例性的搜索结果展示模板的模板列表。该列表中包含有APP类型的网络服务对应的不同搜索结果展示模板。
表2
如表2所示,对于APP类型,预先设置了两种展示模板,一种是针对购物APP的展示模板,另一种是针对游戏APP的展示模板。
表2中给出了两种服务类型的示例性的展示模板。在一些实施例中,应用组件中还保存有其他服务类型对应的模板列表。需要注意的是,对于不同的服务类型,其包含的展示模板可以相同,也可以不同,本申请实施例对此不做限定。
针对这种情况,应用程序在收到搜索结果数据之后,可以首先从搜索结果数据中解析出服务类型,例如解析出的服务类型可以是{Type=游戏APP}。
这样,在S502中,应用组件根据Type=游戏APP,可以从表2中查找到对应的搜索结果展示模板,然后根据该展示模板,从搜索结果中解析出需要的信息字段,从而生成最终的搜索结果展示卡片。
下面结合图6对生成搜索结果展示卡片的过程进行说明。
如图6所示,所述页面600中包含搜索框611。用户在搜索框611中输入搜索关键字“XX”。应用组件获取用户输入的搜索关键字“XX”,将所述搜索关键字通过搜索请求消息发送给搜索服务器。所述搜索服务器返回相应的搜索结果数据。这里,假设搜索服务器根据搜索关键字“XX”,确定出用户希望查找的是“XX金融”应用和“XX商城”网页。这样,搜索服务器将“XX金融”应用和“XX商城”网页相关的搜索结果数据返回给应用组件。
其中,“XX金融”应用对应的搜索结果数据可以包括至少以下信息:{icon:http://www.info.com,name:京东金融,star:5,info:36.22M|1089万次安装,Type=APP}。
应用组件在收到搜索结果数据之后,进行解析操作。针对“XX金融”应用和“XX商城”网页,应用组件分别得到其对应的服务类型为Type=APP和Type=网页。
下面以“XX金融”应用为例进行说明。
应用组件通过解析“XX金融”应用对应的搜索结果数据,可以得到其中的服务类型:Type=APP。假设应用组件选择表1中APP类型对应的搜索结果展示模板,该搜索结果展示模板如图4所示。
根据该搜索结果展示模板,应用组件确定该模板包含的展示位置分别对应的关键字,即,确定出需要从搜索结果展示数据中解析出哪些信息字段。参见图4,该展示模板包括5个展示位置,结合表1,这5个展示位置分别对应关键字:icon,name,star,info,btn。
因此,应用组件进一步从搜索结果数据中解析出“XX金融”应用的以下信息字段,如{icon:http://www.info.com},{name:XX金融},{star:5},{info:36.22M|1089万次安装},{btn:极速下载}。
之后,应用组件可以将解析出的各个信息字段的取值,按照其关键字,分别填充到展示模板中对应的位置上,以生成搜索结果展示卡片。
应用组件将生成的搜索结果展示卡片通过接口提供给应用程序,应用程序将所述搜索结果展示卡片在页面上展示出来,如图6中610所示。
类似的,应用组件可以生成“XX商城”网页对应的搜索结果展示卡片,通过页面展示给用户,如图6中612所示。
通过本申请实施例提供的方法,在收到所述服务器返回的搜索结果数据之后,通过对搜索结果数据的解析和处理,可以以搜索结果展示卡片的形式将搜索结果展现给用户,使得用户可以直接点击搜索结果展示卡片,从而直接进入所搜索的内容专区。
下面结合图7对本申请实施例提供的搜索结果展示方法进行进一步说明。图7为本申请一些实施例中搜索结果展示方法的交互示意图。如图7所示,所述方法包括以下操作:
S701,应用程序获取用户在页面上输入的搜索关键字。
在一些实施例中,所述应用程序可以是任意为用户提供网络搜索功能的应用程序。在该应用程序的页面上,包含一个搜索框。用户可以在该搜索框内输入搜索关键字,以实现搜索功能。
S702,应用组件通过与应用程序之间的接口获取用户输入的搜索关键字。
在一些实施例中,应用组件和应用程序之间预先定义有一组接口,用于实现应用组件和应用程序之间的数据传递与交互。例如,可以预先定义接口函数getSearchInfo(String userInput),通过该接口函数,应用组件可以获取到用户在应用程序的页面上输入的搜索关键字。
S703,应用组件将所述搜索关键字通过搜索请求消息发送给搜索服务器。
在获取到搜索关键字之后,应用组件将该搜索关键字携带在搜索请求消息中,发送给搜索服务器。所述搜索服务器根据收到的搜索关键字执行搜索操作,并将搜索结果数据通过搜索请求响应消息返回给应用组件。
在一些实施例中,所述搜索服务器可以将搜索关键字分发到多个搜索引擎进行搜索,然后根据多个搜索引擎返回的搜索结果生成搜索结果数据。
在一些实施例中,应用组件可以采用HTTPS(Hyper Text Transfer Protocolover Secure Socket Layer)网络协议与搜索服务器进行通信。
S704,搜索服务器向应用组件返回搜索请求响应消息,其中所述请求响应消息中携带有搜索结果数据。
在一些实施例中,所述搜索结果数据中包含至少一个信息字段、其中每个信息字段包含该信息字段的关键字,以及该信息字段的取值。应用组件可以根据每个信息字段的关键字,将所述信息字段的取值,填充到与该关键字对应的展示位置中。
S705,应用组件解析搜索结果数据,选择与所述搜索结果数据对应的搜索结果展示模板,根据所述搜索结果数据和所述结果展示模板生成搜索结果展示卡片。
应用组件在收到搜索结果数据之后,根据该搜索结果数据中包含的信息(例如服务类型),选择合适的搜索结果展示模板,以生成搜索结果展示卡片。
在一些实施例中,对于不同的用户终端平台(Android平台,iOS平台),应用组件可以使用相同的搜索结果展示模板,通过应用组件中的解释器将所生成的搜索结果展示卡片解释成对应的平台能够理解的展现方式。例如,对于Android平台,解释器可以使用Java语言将搜索结果展示卡片翻译成Android平台能够理解的形式。
S706,应用组件将生成的搜索结果展示卡片通过与应用程序之间的接口提供给应用程序。
在生成搜索结果展示卡片之后,应用组件通过预先定义的接口,将搜索结果展示卡片发送给应用程序。
S707,应用程序展示收到的搜索结果展示卡片。
由于应用组件已经将搜索结果数据生成为搜索结果展示卡片,应用程序无需再关注搜索服务器返回的搜索结果数据,直接将搜索结果展示卡片显示在页面即可。
对于应用程序来说,不必针对各种网络服务类型进行复杂的开发、调试、灰度上线等一系列的工作,就可以直接提供搜索服务,实现了应用程序的迅速上线,并且能够兼容Android,iOS双平台。通过本申请实施例提供的方案,针对搜索功能涉及的所有终端逻辑部分进行了统一封装和设计,构建了通用的展示方案,采用脚本化的技术,分别动态生成Android和iOS的应用组件。应用程序仅需要接入对应的应用组件既可以实现低成本的接入。
以上对本申请实施例提供的搜索结果展示方法进行了说明。
下面结合附图对本申请实施例提供的搜索结果展示装置进行说明。
图8为本申请一些实施例中搜索结果展示装置800的整体架构示意图。如图8所示,所述搜索结果展示装置800包含:接入层801,展示层802,业务逻辑及网络层803。
所述接入层801用于分别针对不同的平台(如Android平台,iOS平台)为应用程序提供接口,即接入层801可以按照不同平台的语言,实现两种语言的接口,包括:
输入接口,用于获取应用程序获取的用户输入的搜索关键字;
输出接口,用于向应用程序返回对应的搜索结果展示卡片。
所述展示层802用于根据搜索服务器返回的搜索结果数据以及预定的搜索结果展示模板,生成对应的搜索结果展示卡片。
在一些实施例中,通过解释器可以将生成的搜索结果展示卡片翻译成不同平台能够理解的展示方式。所述展示层802的具体实现和功能可以参见上述的各个实施例。
所述逻辑及网络层803用于实现与搜索服务器的通信,实现数据交互。例如,向搜索服务器发送搜索请求消息,接收搜索服务器返回的搜索请求响应消息,等等。在一些实施例中,所述逻辑及网络层803和搜索服务器之间可以采用HTTPS网络协议进行通信。
所述逻辑及网络层803分别针对不同的平台提供不同的实现方案。例如,对于Android平台,逻辑网络层803提供了Android系统API(Application ProgrammingInterface,应用程序接口),从而实现与搜索服务器的通信连接。
图9为本申请一些实施例提供的搜索结果展示装置的另一种结构示意图。如图9所示,该装置900包括:
获取模块902,用于获取在页面上输入的搜索关键词,并将所述搜索关键词发送给搜索服务器;
接收模块904,用于接收搜索服务器返回的搜索结果数据;
生成模块906,用于根据所述搜索结果数据以及搜索结果展示模板,生成对应的搜索结果展示卡片;其中,所述搜索结果展示模板用于定义搜索结果数据的展示格式,所述搜索结果展示卡片包含所述展示格式的所述搜索结果数据;及
发送模块908,用于将所述搜索结果展示卡片提供给所述页面进行展示。
在一些实施例中,所述页面是由安装在终端设备中的应用程序提供的,所述装置900为所述终端设备中的一个应用组件,用于与所述应用程序协作以向用户提供搜索功能。所述装置进一步包括:
第一接口模块910,用于提供所述装置与所述应用程序之间的第一接口。
第二接口模块912,用于提供所述装置与所述应用程序之间的第二接口。
所述获取模块902进一步用于,通过第一接口模块810获取用户输入的搜索关键字。
所述发送模块908进一步用于,通过第二接口模块820将所述搜索结果展示卡片提供给所述应用程序进行显示。
在一些实施例中,所述搜索结果数据为根据所述搜索关键字确定的网络服务的相关数据;所述搜索结果数据包括:所述网络服务的描述信息、以及所述网络服务所提供的服务功能的入口信息。
在一些实施例中,所述生成模块906进一步用于:
根据所述搜索结果展示模板,从所述描述信息和所述入口信息中解析出一个或者多个信息字段;
将所述一个或者多个信息字段的内容,填充到所述搜索结果展示模板中,以生成所述搜索结果展示卡片。
在一些实施例中,所述搜索结果数据进一步包括:所述网络服务对应的服务类型;
所述生成模块906进一步用于:
从所述搜索结果数据中解析出所述网络服务对应的服务类型;
根据所述服务类型,从多个搜索结果展示模板中,选择与该服务类型对应的搜索结果展示模板;
根据所述搜索结果展示模板,从所述描述信息和所述入口信息中解析出一个或者多个信息字段;
将所述一个或者多个信息字段的内容,填充到所述搜索结果展示模板中,以生成所述搜索结果展示卡片。
在一些实施例中,所述搜索结果展示模板包含一个或者多个展示位置;所述每个展示位置设置有对应的关键字;所述每个信息字段包含该信息字段的关键字,以及该信息字段的取值;
所述生成模块906进一步用于:根据所述搜索结果展示模板中各个展示位置对应的关键字,从所述描述信息和所述入口信息中解析出与各个展示位置具有相同关键字的信息字段。
图10是本申请一些实施例中搜索结果展示装置的结构示意图。该搜索结果展示装置可以是图1示出的用户设备104,也可以是集成于用户设备104中的一个组件。
如图10所示,搜索结果展示装置1000包括一个或者多个处理器(CPU)1002、网络接口1004、存储器1006、以及用于互联这些组件的通信总线1008。
在一些实施例中,所述网络接口1004用于实现所述搜索结果展示装置1000与外部设备之间的网络连接,例如向搜索服务器发送搜索请求,接收搜索服务器返回的搜索结果数据等。
所述搜索结果展示装置1000还可以进一步包含一个或多个输出设备1012(例如一个或多个可视化显示器),和/或包括一个或多个输入设备1014(例如键盘,鼠标,或其他输入控件等)。
存储器1006可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。
存储器1006包括:
操作系统1016,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
应用程序1020,用于向用户提供页面,接收用户在所述页面上输入的搜索关键字,将所述搜索关键字通过接口提供给应用组件1018;通过接口接收所述应用组件1018提供的搜索结果展示卡片,并将所述搜索结果展示卡片展示到页面上;
应用组件1018,用于获取用户在应用程序1020的页面上输入的搜索关键字,并将所述搜索关键字发送给搜索服务器;接收搜索服务器返回的搜索结果数据;根据所述搜索结果数据以及搜索结果展示模板,生成对应的搜索结果展示卡片;其中,所述搜索结果展示模板用于定义搜索结果的展示格式,所述搜索结果展示卡片包含所述展示格式的所述搜索结果数据;及将所述搜索结果展示卡片提供给所述应用程序1020进行展示。
通过本申请实施例提供的方案,在收到所述服务器返回的搜索结果数据之后,通过对搜索结果数据的解析和处理,可以以搜索结果展示卡片的形式将搜索结果展现给用户,使得用户可以直接点击搜索结果展示卡片,从而直接进入所搜索的内容专区。
此外,通过将本申请实施例提供的方案封装为一个应用组件,该应用组件可以与用户设备中安装的其他应用程序合作完成搜索功能。这样,第三方应用程序无需针对搜索功能进行复杂的长时间的开发工作,只需要通过与应用组件之间的接口接收所述搜索结果展示卡片就可以直接向用户展示搜索结果。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本申请的保护范围之内。
Claims (3)
1.一种搜索结果的展示方法,其特征在于,由终端设备中的应用组件执行,所述应用组件与终端设备中安装的第三方应用程序合作完成搜索功能,所述应用组件通过软件开发工具包SDK来实现,所述方法包括:
通过所述应用组件与第三方应用程序之间的第一接口,从所述第三方应用程序获取在所述第三方应用程序的页面上输入的搜索关键词,并将所述搜索关键词发送给搜索服务器;其中,所述应用组件用于辅助所述第三方应用程序提供搜索功能;
接收搜索服务器返回的搜索结果数据;所述搜索结果数据为根据所述搜索关键词 确定的网络服务的相关数据;所述搜索结果数据包括:所述网络服务对应的服务类型、所述网络服务的描述信息、以及所述网络服务所提供的服务功能的入口信息;所述服务类型包括:应用和网页;
从所述搜索结果数据中解析出所述网络服务对应的服务类型,以及该网络服务是该服务类型中的哪个子类型;
根据所述服务类型以及子类型,从多个搜索结果展示模板中,选择与该服务类型以及子类型对应的搜索结果展示模板;其中,对于不同的终端设备的平台类型,所述应用组件使用相同的搜索结果展示模板;所述搜索结果展示模板包含一个或者多个展示位置;所述每个展示位置设置有对应的关键字;所述应用组件中存储有一个模板列表,所述模板列表中包含与各个服务类型对应的搜索结果展示模板;对于每种服务类型,所述模板列表中记录有对应的搜索结果展示模板的样式,以及搜索结果展示模板中各个展示位置的说明;针对同一个类型的网络服务,所述模板列表中包含多个搜索结果展示模板;
根据所述搜索结果展示模板中各个展示位置对应的关键字,从所述描述信息和所述入口信息中解析出与各个展示位置具有相同关键字的信息字段;所述每个信息字段包含该信息字段的关键字,以及该信息字段的取值;
根据每个信息字段的关键字,将该信息字段的取值,填充到所述搜索结果展示模板中具有相同关键字的展示位置中,以生成搜索结果展示卡片;
针对所述终端设备的平台类型,通过所述应用组件中的解释器将所述搜索结果展示卡片翻译成该平台类型对应的展示方式;其中,所述搜索结果展示模板用于定义搜索结果数据的展示格式,所述搜索结果展示卡片包含所述展示格式的所述搜索结果数据;及
通过与所述第三方应用程序之间的第二接口,将所述搜索结果展示卡片提供给所述第三方应用程序的页面进行展示;
当所述服务类型为应用时,
所述网络服务的描述信息包括以下一个或多个:所述应用的图标信息、所述应用的名称、所述应用的评分信息;
所述入口信息包括:所述应用的下载链接;
当所述服务类型为网页时,
所述网络服务的描述信息包括以下一个或多个:所述网页的图标信息、所述网页的名称、所述网页的网址信息;
所述入口信息包括:打开所述网页的链接。
2.一种搜索结果的展示装置,其特征在于,应用于终端设备中的应用组件,所述应用组件与终端设备中安装的第三方应用程序合作完成搜索功能,所述应用组件通过软件开发工具包SDK来实现,包括:
获取模块,用于通过所述应用组件与第三方应用程序之间的第一接口,从所述第三方应用程序获取在所述第三方应用程序的页面上输入的搜索关键词,并将所述搜索关键词发送给搜索服务器;其中,所述应用组件用于辅助所述第三方应用程序提供搜索功能;
接收模块,用于接收搜索服务器返回的搜索结果数据;所述搜索结果数据为根据所述搜索关键词 确定的网络服务的相关数据;所述搜索结果数据包括:所述网络服务对应的服务类型、所述网络服务的描述信息、以及所述网络服务所提供的服务功能的入口信息;所述服务类型包括:应用和网页;
生成模块,用于从所述搜索结果数据中解析出所述网络服务对应的服务类型,以及该网络服务是该服务类型中的哪个子类型;根据所述服务类型以及子类型,从多个搜索结果展示模板中,选择与该服务类型以及子类型对应的搜索结果展示模板;其中,对于不同的终端设备的平台类型,所述应用组件使用相同的搜索结果展示模板;所述应用组件中存储有一个模板列表,所述模板列表中包含与各个服务类型对应的搜索结果展示模板;对于每种服务类型,所述模板列表中记录有对应的搜索结果展示模板的样式,以及搜索结果展示模板中各个展示位置的说明;针对同一个类型的网络服务,所述模板列表中包含多个搜索结果展示模板;根据所述搜索结果展示模板,从所述描述信息和所述入口信息中解析出一个或者多个信息字段;将所述一个或者多个信息字段的内容,填充到所述搜索结果展示模板中,以生成所述搜索结果展示卡片;针对所述终端设备的平台类型,通过所述应用组件中的解释器将所述搜索结果展示卡片翻译成该平台类型对应的展示方式;其中,所述搜索结果展示模板用于定义搜索结果数据的展示格式,所述搜索结果展示卡片包含所述展示格式的所述搜索结果数据;及
发送模块,用于通过与所述第三方应用程序之间的第二接口,将所述搜索结果展示卡片提供给所述第三方应用程序的页面进行展示;
所述搜索结果展示模板包含一个或者多个展示位置;所述每个展示位置设置有对应的关键字;所述每个信息字段包含该信息字段的关键字,以及该信息字段的取值;
所述生成模块进一步用于:根据所述搜索结果展示模板中各个展示位置对应的关键字,从所述描述信息和所述入口信息中解析出与各个展示位置具有相同关键字的信息字段,根据每个信息字段的关键字,将该信息字段的取值,填充到所述搜索结果展示模板中具有相同关键字的展示位置中,以生成搜索结果展示卡片;
当所述服务类型为应用时,
所述网络服务的描述信息包括以下一个或多个:所述应用的图标信息、所述应用的名称、所述应用的评分信息;
所述入口信息包括:所述应用的下载链接;
当所述服务类型为网页时,
所述网络服务的描述信息包括以下一个或多个:所述网页的图标信息、所述网页的名称、所述网页的网址信息;
所述入口信息包括:打开所述网页的链接。
3.一种非易失性计算机可读存储介质,其中所述存储介质中存储有机器可读指令,所述机器可读指令可以由处理器执行以完成权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810466712.0A CN108717437B (zh) | 2018-05-16 | 2018-05-16 | 搜索结果展示方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810466712.0A CN108717437B (zh) | 2018-05-16 | 2018-05-16 | 搜索结果展示方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108717437A CN108717437A (zh) | 2018-10-30 |
CN108717437B true CN108717437B (zh) | 2021-09-24 |
Family
ID=63900069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810466712.0A Active CN108717437B (zh) | 2018-05-16 | 2018-05-16 | 搜索结果展示方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108717437B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367514B (zh) * | 2018-12-25 | 2023-04-28 | 阿里巴巴集团控股有限公司 | 页面卡片的开发方法和装置、计算设备和存储介质 |
CN110609957B (zh) * | 2019-09-19 | 2023-11-03 | 青岛海信移动通信技术有限公司 | 一种进行全局搜索的方法、终端和服务器 |
CN110704736B (zh) * | 2019-09-29 | 2021-02-09 | 北京幻想纵横网络技术有限公司 | 一种信息发布及展示方法、装置 |
CN111046265B (zh) * | 2019-12-11 | 2023-08-29 | 北京小米移动软件有限公司 | 卡片数据显示方法、装置、设备及存储介质 |
CN111523062B (zh) * | 2020-04-24 | 2024-02-27 | 浙江口碑网络技术有限公司 | 多维度信息展示方法及装置 |
CN112148977B (zh) * | 2020-09-22 | 2022-12-06 | 北京字节跳动网络技术有限公司 | 动态网络资源展示及匹配方法、装置、电子设备和介质 |
CN113792224A (zh) * | 2021-08-13 | 2021-12-14 | 百度在线网络技术(北京)有限公司 | 资源处理方法、平台、电子设备及存储介质 |
CN113515549B (zh) * | 2021-09-14 | 2021-12-10 | 江西科技学院 | 财务数据查询方法、装置及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425741A (zh) * | 2013-07-16 | 2013-12-04 | 北京中科汇联信息技术有限公司 | 一种信息展示方法和装置 |
CN103488781A (zh) * | 2013-09-30 | 2014-01-01 | 北京奇虎科技有限公司 | 提供信息搜索的方法、搜索引擎服务器 |
CN105893564A (zh) * | 2016-03-31 | 2016-08-24 | 百度在线网络技术(北京)有限公司 | 一种基于搜索引擎客户端的搜索方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012037554A2 (en) * | 2010-09-17 | 2012-03-22 | Oracle International Corporation | Method and apparatus for pre-rendering expected system response |
CN108038172B (zh) * | 2017-12-07 | 2022-02-22 | 北京百度网讯科技有限公司 | 基于人工智能的搜索方法和装置 |
-
2018
- 2018-05-16 CN CN201810466712.0A patent/CN108717437B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425741A (zh) * | 2013-07-16 | 2013-12-04 | 北京中科汇联信息技术有限公司 | 一种信息展示方法和装置 |
CN103488781A (zh) * | 2013-09-30 | 2014-01-01 | 北京奇虎科技有限公司 | 提供信息搜索的方法、搜索引擎服务器 |
CN105893564A (zh) * | 2016-03-31 | 2016-08-24 | 百度在线网络技术(北京)有限公司 | 一种基于搜索引擎客户端的搜索方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108717437A (zh) | 2018-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108717437B (zh) | 搜索结果展示方法、装置及存储介质 | |
EP3518124A1 (en) | Webpage rendering method and related device | |
US11256848B2 (en) | Automated augmentation of text, web and physical environments using multimedia content | |
US20210149842A1 (en) | System and method for display of document comparisons on a remote device | |
CN106897251B (zh) | 富文本展示方法及装置 | |
KR20130066603A (ko) | 폰트 서브세트의 개시 | |
CN111831384B (zh) | 语言切换方法和装置、设备及存储介质 | |
US20160267117A1 (en) | Answering natural language table queries through semantic table representation | |
CN107391535B (zh) | 在文档应用中搜索文档的方法及装置 | |
CN112306620B (zh) | 自定义表单控件的多语言加载方法及装置 | |
CN110309457B (zh) | 网页数据处理方法、装置、计算机设备和存储介质 | |
CN115599386A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN112905178A (zh) | 业务功能页面生成方法、装置、设备及介质 | |
CN113127776A (zh) | 面包屑路径生成方法、装置及终端设备 | |
CN113495730A (zh) | 资源包的生成及解析方法和装置 | |
CN113656737B (zh) | 网页内容展示方法、装置、电子设备以及存储介质 | |
KR102531507B1 (ko) | 정보 출력 방법, 장치, 기기 및 저장 매체 | |
CN111680247A (zh) | 网页字符串的本地调用方法、装置、设备及存储介质 | |
CN115390835A (zh) | 一种小程序标签化搜索框的构建方法及设备 | |
CN115062250A (zh) | 页面管理方法、服务器、开发前端、门户网页端和系统 | |
CN115080154A (zh) | 页面显示方法、装置、存储介质及电子设备 | |
CN111767703B (zh) | 表单数据采集方法、装置和系统 | |
CN114528510A (zh) | 网页数据处理的方法、装置、电子设备及介质 | |
CN113343137A (zh) | 优化seo页面生成方法、装置、电子设备及存储介质 | |
Rachovski et al. | Models and methodologies for automated creating of webpage mobile versions |
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 |