一种客户端实现搜索的方法及搜索客户端的制作方法

文档序号:6336758阅读:252来源:国知局
专利名称:一种客户端实现搜索的方法及搜索客户端的制作方法
技术领域
本发明涉及互联网信息搜索方法及工具,特别涉及一种客户端实现搜索的方法及 实现搜索的客户端。
背景技术
随着网络技术的发展,搜索引擎得到了不断的完善,通过搜索引擎可以从互联网 上获取各种信息。
现有的搜索引擎技术使用网络爬虫从互联网抓取网页,建立索引,并为用户提供 查询服务。以百度、谷歌的网页搜索为代表。也有的搜索引擎对特定领域的数据进行抓取、 索引和搜索,并为用户提供查询服务。
传统的搜索引擎技术通常包括网页抓取、网页处理、搜索服务等几个部分。无论哪 一家搜索引擎,都不可能去抓取互联网的全部内容,因此各家搜索引擎通常都是索引整个 互联网的一个子集;另外,传统的网络爬虫基于网页之间的链接进行抓取,对于没有链接的 页面难以抓取;最后,传统搜索引擎从抓取、建立索引、提供查询服务需要一定周期,对大部 分内容无法做到实时更新。
同时,一种搜索引擎可能无法满足所有人或者一个人的所有搜索需求。在某些情 况下,如果一个搜索引擎提供给用户的搜索结果达不到用户需求、没有用户想要的内容,则 用户还需要更换另外一个搜索引擎再次重新搜索,以便获得期望的搜索结果。可见,这种操 作较为繁琐,降低了搜索效率,也提高了搜索的难度。发明内容
本发明所要解决的技术问题是提供一种在客户端实现搜索的方法和搜索客户端, 能够把负载分解到客户端,有效利用客户端的资源,提高搜索的速度和效率。
为了解决上述问题,本发明公开了一种客户端实现搜索的方法,可以包括以下步 骤搜索客户端获取用户查询请求;搜索客户端调用至少两个搜索引擎对所述查询请求进 行搜索;搜索客户端获得各个所调用的搜索引擎的搜索结果信息;搜索客户端对所述获得 的搜索结果信息进行处理,得到最终搜索结果并进行展示。
优选的,所述方法在搜索客户端调用至少两个搜索引擎之前,还包括检测用户机 器的性能配置,如果性能配置符合预设要求,则执行后续步骤。
优选的,所述方法还可以包括在搜索客户端调用搜索引擎之前,根据当前的查询 请求来选择所需的至少两个搜索引擎。
优选的,所述选择至少两个搜索引擎的步骤具体包括以该查询请求的查询词为 输入,结合查询词与各搜索引擎的相关程度,选择所需的至少两个搜索引擎。
优选的,所述搜索客户端获取用户查询请求包括通过监控浏览器的特定输入框, 获取用户查询请求。
优选的,所述搜索客户端通过拦截用户指向一默认搜索引擎的查询请求,而获取4用户查询请求。
优选的,所述搜索客户端调用至少两个搜索引擎包括所述搜索客户端调用包含 一默认搜索引擎的至少两个搜索引擎;所述展示包括在所述默认搜索引擎的搜索结果页 上展示经整合后的所述最终搜索结果。
优选的,所述搜索客户端对所述搜索结果信息进行的处理包括解析和整合。优选 的,所述搜索客户端对所述搜索结果信息进行的解析包括对不同搜索引擎的搜索结果页进 行页面分析和结果抽取。
优选的,所述页面分析及结果抽取包括以下步骤将搜索结果页转化为DOM ;通过 路径查询语法在DOM上取出记录列表;取得记录列表每一条记录的标题、摘要、链接等相关 属性;储存记录列表每一条记录的相关属性及在搜索结果页中的位置。
优选的,所述获取用户查询请求包括分析所述用户输入查询词的相关动作;在 满足预置条件的情况下,在用户正式提交搜索之前确定一预测查询词作为用户查询请求。
优选的,在调用各个搜索引擎之前,还包括当判定用户有搜索意图时,对可能发 起调用请求的搜索引擎建立一预链接,并保有之;当搜索行为发生时,从保有的预链接中获 取对应搜索引擎的链接,进行具体调用过程。
依据本发明的可以优选实施例,还公开了一种客户端实现搜索的方法,所述客户 端包括浏览器和搜索插件,所述方法包括以下步骤浏览器模块基于用户查询请求,调用一 默认搜索引擎,获得该默认搜索引擎的搜索结果页,并通过该搜索结果页的脚本将搜索结 果信息发送给搜索插件;搜索插件基于所述用户查询请求,调用其他搜索引擎,获得其他搜 索引擎的搜索结果;搜索插件对所获得的搜索结果信息进行处理,获得最终搜索结果;在 该默认搜索引擎的搜索结果页上对所述最终搜索结果进行展示。
依据本发明的可以优选实施例,还公开了一种搜索客户端,包括
获取模块,用于获取用户查询请求;
结果取得模块,用于调用至少两个搜索引擎,对所述查询请求进行搜索,以及获得 各个所调用的搜索引擎的搜索结果信息;
解析展示模块,对所获得的搜索结果信息进行处理,得到最终搜索结果并进行展7J\ ο
优选的,所述搜索客户端还可以包括性能检测模块,用于检测用户机器的性能配 置,如果性能配置符合预设要求,则调用多个搜索引擎。
优选的,所述搜索客户端还可以包括搜索引擎选择模块,用于以该查询请求的查 询词为输入,结合查询词与各搜索引擎的相关程度,选择所需的至少两个搜索引擎。
优选的,所述获取模块通过监控浏览器的特定输入框,以获取用户查询请求。
优选的,所述获取模块通过拦截用户指向一默认搜索引擎的查询请求,而获取用 户查询请求。
优选的,所述调用的至少两个搜索引擎包含一默认搜索引擎;所述解析展示模块 在所述默认搜索引擎的搜索结果页上展示经整合后的所述最终搜索结果。
优选的,所述解析展示模块对所述搜索结果信息进行的处理包括解析和整合。
优选的,所述获取模块包括动作捕获子模块,用于捕获用户输入查询词的相关动 作;分析子模块,用于分析所述用户输入查询词的相关动作;搜索预启动子模块,用于当分析子模块确定用户输入查询词的相关动作满足预置条件时,则在用户正式提交搜索之前确 定一预测查询词作为用户查询请求。
优选的,所述搜索客户端还可以包括预链接模块,用于当判定用户有搜索意图 时,对可能发起调用请求的搜索引擎建立一预链接,并保有之;当搜索行为发生时,所述预 链接直接用于结果取得模块的具体调用过程。
与现有技术相比,本发明具有以下优点
本发明的客户端实现搜索的方法和搜索客户端,通过在客户端实现分析用户意 图、选择搜索引擎、进行链接下载,以及分析处理等操作,将复杂的计算和宽带资源占用转 移到用户的操作终端,可以有效的利用用户的终端资源,减少对服务器端资源的占用,提高 了搜索速度和效率。
具体的,由于本发明需要对多个搜索引擎的搜索结果进行整合,因此,需要链接多 个搜索引擎。而本发明可以从客户端直接向各个搜索引擎发查询请求,比客户端先传查询 请求给服务器、然后服务器再向各搜索引擎发请求更节省时间,实时性更强。而节约时间对 于提高搜索效率是非常重要的,尤其是需要整合多个搜索结果时。
同时,如果从服务器发请求,那么各用户的查询请求都由同一服务器的出口出去, 相当于从一个节点出去,而且针对每个查询请求需要同时调用多个搜索引擎,那么对这个 服务器的压力负担是非常大的,自然也就会造成时间上的延迟,效率较低。而本发明的可以 大大减轻服务器的压力,提高搜索效率。
进一步,由于本发明需要调用多个搜索引擎,为了提高搜索速度,在搜索中本发明 优选采用了预链接技术(提前与搜索引擎建立一个预链接,当正式开始搜索时,直接通过 之前建立的预链接进行链接,从而节省了链接的时间),以提高各搜索引擎的响应速度。但 是,如果在服务器端做多个搜索引擎的调用,则是没办法采用预链接技术的,在技术上根本 无法实现。因为各个客户端可能需要访问不同的搜索引擎,并且在不同时间点,即使同一个 客户端也可能需要调用不同的搜索引擎,因此,如果将这些调用需求统一汇总到服务器端, 意味着服务器需要针对各个搜索引擎进行极大规模的并发访问,而服务器端的IP有限,带 宽有限,建立预连接到任何一个搜索引擎进行大规模并发的访问,这个搜索引擎都会直接 断掉该预链接的,所以在技术应用上无法实现。
其次,本发明的搜索客户端可以基于用户的查询词选择与其相关程度较高的搜索 引擎(搜索结果较准确)。本发明通过对用户查询词的意图理解分析,选择与用户需求相关 的搜索引擎(或者在用户意图方向上搜索准确性较高的搜索引擎),进行有针对性的连接 搜索,不仅可以提高系统的效率,更增加了用户的搜索准确度。
再者,本发明的搜索客户端可以和现有的搜索过程紧密结合,用户仍然是针对现 有某个常用搜索引擎提出查询请求,而本发明的搜索客户端可以拦截该查询请求,获取多 个搜索引擎的结果,并解析处理后在该常用搜索引擎的搜索结果页展示本发明的最终结 果。这样,用户在交互界面上几乎没有改变,但是搜索结果却更加符合用户的需求,更加准 确。


图1是本发明实施例的一种客户端实现搜索方法实施例的流程图2是本发明的一种搜索客户端实施例一的示意图3是本发明的一种搜索客户端实施例二的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
请参照图1,示出了本发明的客户端实现搜索的方法实施例,包括以下步骤
步骤101,搜索客户端获取用户查询请求。
获取用户查询请求的方式多种多样,本发明仅仅给出以下几个示例。例如,当用户 在搜索工具栏的搜索框中输入查询词时,在浏览器地址栏中输入中文词时,都可以认为用 户期望开始查询,则本发明的搜索客户端通过检测这些输入框的动作,可以拦截并获取到 用户查询请求。
而当本发明的搜索客户端与某一常用的搜索引擎关联时(例如搜索引擎A),则可 以直接拦截指向该搜索引擎的查询URL(Universal Resource Locator,网页地址),就可以 获得用户查询请求。例如,用户在搜索引擎A的主页上启动搜索,或者在其他页面上启动搜 索引擎A搜索(例如从某导航页面上启动搜索引擎A搜索)。
在技术实现上,本发明的搜索客户端可以作为一个独立的客户端软件(独立的搜 索入口),对用户查询请求进行获取,也可以在搜索客户端中集成浏览器模块或者其他应用 程序模块,例如,IManstantMessaging,即时通讯)程序、输入法程序、甚至文本编辑程序 word等),获取用户的查询请求。这样,便于用户在使用相关应用时能够方便的使用本发明 的搜索功能。
扩展理解,用户所使用的客户端计算机本身也可以看做是本发明所说的搜索客户 端,本发明所强调的各个步骤都是由该计算机发起的,即该物理实体也可以理解为本发明 所说的搜索客户端。当然,为了方便说明,在下面的描述中直接采用搜索客户端进行说明, 并主要强调其软件属性。
可选的,为了保证客户端搜索的顺利进行,在启动客户端搜索之前,首先需要对用 户的终端计算机环境进行检测,根据检测的结果来决定是否启用多搜索引擎进行搜索。若 用户的终端计算机环境满足客户端搜索的条件,当用户进行搜索时,搜索客户端对用户的 的查询请求进行拦截,然后启动多引擎搜索模式。由于本发明的客户端搜索方式,可能占用 本地较多的计算资源,如果用户的终端计算机的性能较差,则可能导致搜索结果处理完毕 的时间较长,无法及时展示最终搜索结果,因此,当用户的终端计算机性能较差时,优选的, 不启动本发明的多引擎搜索模式,而仍然采用常用的单一搜索引擎模式(例如搜狗搜索或 百度搜索)。
步骤102,搜索客户端调用至少两个搜索引擎,对该查询请求进行搜索。
搜索客户端可以调用所有的备选搜索引擎对查询词直接进行搜索,也可以选择调 用与查询请求相关度较高的至少两个搜索引擎来进行搜索。为了获取较好的搜索质量及减 少搜索时间,可选的,选择调用与查询请求相关的搜索引擎。此时,可以在搜索客户端存储 引擎参数表,当搜索客户端对查询请求进行解析,获得查询词后,以查询词为输入,结合搜 索查询词与各搜索引擎的相关程度选择与查询词匹配的搜索引擎。其中,引擎参数表用于表征各查询词与各搜索引擎的相关程度。例如,购物类的查询和淘宝的相关度最高,那么搜 索客户端就可以从查询词与各搜索引擎的相关程度列表中选择出taobao搜索引擎。
下面的表1给出了一个具体的例子,该表用于表征查询词与各搜索引擎的相关程 度{η息。
权利要求
1.一种客户端实现搜索的方法,其特征在于,包括以下步骤 搜索客户端获取用户查询请求;搜索客户端调用至少两个搜索引擎对所述查询请求进行搜索;搜索客户端获得各个所调用的搜索引擎的搜索结果信息;搜索客户端对所述获得的搜索结果信息进行处理,得到最终搜索结果并进行展示。
2.如权利要求1所述的方法,其特征在于,所述方法在搜索客户端调用至少两个搜索 引擎之前,还包括检测用户机器的性能配置,如果性能配置符合预设要求,则执行后续步骤。
3.如权利要求1所述的方法,其特征在于,所述方法还包括在搜索客户端调用搜索引 擎之前,根据当前的查询请求来选择所需的至少两个搜索引擎。
4.如权利要求3所述的方法,其特征在于,所述选择至少两个搜索引擎的步骤具体包括以该查询请求的查询词为输入,结合查询词与各搜索引擎的相关程度,选择所需的至 少两个搜索引擎。
5.如权利要求1所述的方法,其特征在于,所述搜索客户端获取用户查询请求包括通 过监控浏览器的特定输入框,获取用户查询请求。
6.如权利要求1所述的方法,其特征在于,所述搜索客户端通过拦截用户指向一默认 搜索引擎的查询请求,而获取用户查询请求。
7.如权利要求1所述的方法,其特征在于,所述搜索客户端调用至少两个搜索引擎包 括所述搜索客户端调用包含一默认搜索引擎的至少两个搜索引擎;所述展示包括在所述默认搜索引擎的搜索结果页上展示经整合后的所述最终搜索结^ ο
8.根据权利要求1所述的方法,其特征在于,所述搜索客户端对所述搜索结果信息进 行的处理包括解析和整合。
9.如权利要求1所述的方法,其特征在于,所述搜索客户端对所述搜索结果信息进行 的解析包括对不同搜索引擎的搜索结果页进行页面分析和结果抽取。
10.如权利要求9所述的方法,其特征在于,所述页面分析及结果抽取包括以下步骤 将搜索结果页转化为DOM ;通过路径查询语法在DOM上取出记录列表;取得记录列表每一条记录的标题、摘要、链接等相关属性;储存记录列表每一条记录的相关属性及在搜索结果页中的位置。
11.如权利要求1所述的方法,其特征在于,所述获取用户查询请求包括 分析所述用户输入查询词的相关动作;在满足预置条件的情况下,在用户正式提交搜索之前确定一预测查询词作为用户查询 请求。
12.如权利要求1所述的方法,其特征在于,在调用各个搜索引擎之前,还包括 当判定用户有搜索意图时,对可能发起调用请求的搜索引擎建立一预链接,并保有之;当搜索行为发生时,从保有的预链接中获取对应搜索引擎的链接,进行具体调用过程。
13.一种客户端实现搜索的方法,其特征在于,所述客户端包括浏览器和搜索插件,所 述方法包括以下步骤浏览器模块基于用户查询请求,调用一默认搜索引擎,获得该默认搜索引擎的搜索结 果页,并通过该搜索结果页的脚本将搜索结果信息发送给搜索插件;搜索插件基于所述用户查询请求,调用其他搜索引擎,获得其他搜索引擎的搜索结果;搜索插件对所获得的搜索结果信息进行处理,获得最终搜索结果; 在该默认搜索引擎的搜索结果页上对所述最终搜索结果进行展示。
14.一种搜索客户端,其特征在于,包括 获取模块,用于获取用户查询请求;结果取得模块,用于调用至少两个搜索引擎,对所述查询请求进行搜索,以及获得各个 所调用的搜索引擎的搜索结果信息;解析展示模块,对所获得的搜索结果信息进行处理,得到最终搜索结果并进行展示。
15.如权利要求14所述的搜索客户端,其特征在于,所述搜索客户端还包括性能检测模块,用于检测用户机器的性能配置,如果性能配置符合预设要求,则调用多 个搜索引擎。
16.如权利要求14所述的搜索客户端,其特征在于,所述搜索客户端还包括搜索引擎选择模块,用于以该查询请求的查询词为输入,结合查询词与各搜索引擎的 相关程度,选择所需的至少两个搜索引擎。
17.如权利要求14所述的搜索客户端,其特征在于,所述获取模块通过监控浏览器的 特定输入框,以获取用户查询请求。
18.如权利要求14所述的搜索客户端,其特征在于,所述获取模块通过拦截用户指向 一默认搜索引擎的查询请求,而获取用户查询请求。
19.如权利要求14所述的搜索客户端,其特征在于, 所述调用的至少两个搜索引擎包含一默认搜索引擎;所述解析展示模块在所述默认搜索引擎的搜索结果页上展示经整合后的所述最终搜索结果。
20.如权利要求14所述的搜索客户端,其特征在于,所述解析展示模块对所述搜索结 果信息进行的处理包括解析和整合。
21.如权利要求14所述的搜索客户端,其特征在于,所述获取模块包括 动作捕获子模块,用于捕获用户输入查询词的相关动作;分析子模块,用于分析所述用户输入查询词的相关动作;搜索预启动子模块,用于当分析子模块确定用户输入查询词的相关动作满足预置条件 时,则在用户正式提交搜索之前确定一预测查询词作为用户查询请求。
22.如权利要求14所述的搜索客户端,其特征在于,还包括预链接模块,用于当判定用户有搜索意图时,对可能发起调用请求的搜索引擎建立一 预链接,并保有之;当搜索行为发生时,所述预链接直接用于结果取得模块的具体调用过
全文摘要
本发明提供了一种客户端实现搜索的方法和装置,所述方法包括以下步骤搜索客户端获取用户查询请求;搜索客户端调用至少两个搜索引擎对所述查询请求进行搜索;搜索客户端获得各个所调用的搜索引擎的搜索结果信息;搜索客户端对所述搜索结果信息进行处理,得到最终搜索结果并进行展示。本发明通过在客户端实现分析用户意图、选择搜索引擎、进行链接下载,以及分析处理等操作,将复杂的计算和宽带资源占用转移到用户的操作终端,可以有效的利用用户的终端资源,减少对服务器端资源的占用,提高了搜索速度和效率。
文档编号G06F17/30GK102043834SQ20101055923
公开日2011年5月4日 申请日期2010年11月25日 优先权日2010年11月25日
发明者佟子健, 刘龙涛, 吴明达, 林灿 申请人:北京搜狗科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1