用于搜索的方法和计算机系统的制作方法

文档序号:6614137阅读:159来源:国知局
专利名称:用于搜索的方法和计算机系统的制作方法
技术领域
本发明的实施例总体上涉及搜索在计算机系统中存储的信息的链接页
面,并且更具体地,涉及针对持久(persistent)关键字来搜索根页面的后代 页面。
背景技术
多年前,计算机是不互相通信的隔离装置。但是,今天,计算机常常连 接在网络中,如因特网或万维网,并且位于一个计算机(经常称为客户机) 处的用户可能希望经由网络存取在多个其他计算机(常常称为服务器)处的 信息。信息经常被存储在服务器处,并以页面为单位被发送到客户机,这些 页面经由嵌入的超链接或链接而被连接在一起。链接是地址,如被嵌入在带 链接页面中的链接页面的URL (统一资源定位符),当其被选择时,使得该链 接页面被检索。因为因特网包括如此多的页面,所以,找到感兴趣的页面可 能很难,因此许多公司提供搜索引擎,其允许用户搜索包含关键字的页面。
当前的搜索引擎一般具有搜索因特网的领域中的针对于关键字的组合的 较强的技术,并且通常可找到接近期望的结果并与关键字有关的页面。但是, 所找到的页面常常过于广泛,并且不是用户期望的特定页面。相反,常常从 所找到的页面之一链接(直接或间接)特定页面。不幸的是,所找到的页面 常常包含许多链接,并且追踪所有链接是乏味且耗时的。
在针对这些问题的尝试中, 一些站点提供它们自己的搜索功能,其允许 用户向该特定站点搜索关键字。但是,这些搜索功能仅仅在该站点上存储了 感兴趣的页面的情况下才有用。如果感兴趣的页面不在该站点上,而是从该 站点链接,则搜索功能不会找到它。
作为另 一技术, 一些浏览器会搜索在先前访问的站点的历史緩存中标识 的站点。如果用户与先前观看页面时处于相同的计算机、使用相同的浏览器, 并且如果该页面还未被从历史緩存中清除出去,则此技术可能是成功的。但 是,用户越来越具有移动性,并且可能使用多种计算机和浏览器,并且用户 关心隐私,因而他们常常擦除历史緩存,因而此技术的用途是有限的。
由此,所需要的是用于找到从其他页面直接或间接地链接的页面的增强 的技术。

发明内容
提供了一种方法、设备、系统和信号承载介质。接收包括主关键字和简 档的请求,其中简档包括持久关键字。响应于该请求,找到包括与主关键字 匹配的第一项目的根页面。向根页面的后代页面搜索匹配持久关键字的第二 项目。该搜索确定后代页面位于源自根页面的多个路径上的多个层、以及这 些层位于从根页面起的一定深度内。找到作为根页面的后代且包括匹配持久 关键字的第二项目的后代页面。将指向根页面的根链接和指向后代页面的后 代链接发送给请求方。如果提交主关鍵字的次数大于阈值数,则将主关键字 添加到持久关键字。以此方式,在实施例中,使得能够进行持久搜索,其允 许用户找到在源自根页面的路径上链接的页面,其包括用户具有持久兴趣的 持久关键字。


下文中结合附图描述本发明的各种实施例
图1绘出了用于实现本发明的实施例的示例系统的高级框图。
图2绘出了根据本发明的实施例的示例页面的框图。
图3绘出了根据本发明的实施例、用于存储简档数据的示例用户界面的框图。
图4绘出了根据本发明的实施例、用于搜索的示例用户界面的框图。 图5绘出了根据本发明的实施例、用于检索页面的示例用户界面的框图。 图6绘出了根据本发明的实施例、用于索引的示例数据结构的框图。 图7绘出了根据本发明的实施例、用于搜索器(c r a w 1 e r)的示例处理的流程图。
图8绘出了根据本发明的实施例、用于利用筒档来搜索根页面的后代页 面的示例处理的流程图,其中经由链接找到该根页面。 _
图9绘出了根据本发明的实施例、用于利用简档来搜索根页面的后代页 面的示例处理的流程图,其中通过搜索找到该根页面。
图1 0绘出了根据本发明的实施例、用于利用简档来搜索页面的示例处理 的流程图。
图11绘出了根据本发明的实施例、用于利用简档来搜索后代页面的示例 处理的流程图。
然而,应注意,附图仅仅例示了本发明的示例实施例,因而不看作是其 范围的限制,本发明可容纳其他等同的有效实施例。
具体实施例方式
参照附图,其中在几个图中,相同的附图标记指示相同的部分,根据本
发明的实施例,图1绘出了经由网络130连接到服务器计算机系统132和135 的客户机计算机系统100的高级框图表示。这里,术语"客户机"和"服务 器"的使用仅仅为了便利,并且在各种实施例中,在一个环境中操作为客户 机的计算机可以在另一环境中操作为服务器,反之亦然。在一个实施例中, 可通过可从纽约阿芒克的国际商业机器公司获得的IBM System i5计算机系 统来实现计算机系统100、 132和135的硬件组件。但是,本领域技术人员会 理解,本发明的实施例的机制和设备可等同地应用于任何合适的计算系统。
计算机系统100的主要组件包括一个或多个处理器101、主存储器102、 终端接口 lll、存储接口 112、 1/0(输入/输出)装置接口 113、以及通信/网 络接口 114,所有这些经由存储器总线103、 1/0总线104和I/O总线接口单 元105而耦连,以进行内部组件通信。
计算机系统100包含一个或多个通用可编程中央处理单元(CPU) IOIA、 IOIB、 101C和101D,这里将其统称为处理器101。在一个实施例中,计算机 系统100包含对于大系统来说典型的多处理器;然而,在另一实施例中,可 替换地,计算机系统100可以是单CPU系统。每个处理器101执行在主存储 器102中存储的指令,并可包括一级或多级板载高速緩存。
主存储器102是用于存储或编码数据和程序的随机存取半导体存储器。 在另一实施例中,主存储器102代表计算机系统100的整个虚拟存储器,并 且还可包括耦连到计算机系统100和经由网络130连接的其他计算机系统的 虚拟存储器。主存储器102概念上是单个的单片实体,但在其他实施例中, 主存储器102可以是更复杂的装置,如高速緩存和其他存储器件的分级。例 如,存储器可存在于多级高速緩存中,并且这些高速緩存可进一步以功能进
行划分,使得一个高速緩存保存指令而另一高速緩存保存由处理器使用的非 指令数据。存储器还可分布并关联到不同的CPU或CPU组,如在各种所谓非
一直存储器存取(NUMA)计算机体系中的任一种中已知的那样。
主存储器102存储或编码应用150、简档152、搜索请求页面154、后代 结果页面156、以及搜索结果页面158。尽管应用150、简档152、搜索请求 页面154、后代结果页面156、以及搜索结果页面158被示出为包含在计算机 系统100的存储器102中,但在其他实施例中,它们中的一些或全部可以在 不同的计算机系统上,并且例如,可经由网络13 0而^皮远程地访问。计算一几 系统100可使用虛拟寻址机制,其允许计算机系统100的程序作用为如同它 们仅仅存取大的单个存储实体、而不存取多个更小的存储实体那样。由此, 尽管应用150、简档152、搜索请求页面154、后代结果页面156、以及搜索 结果页面158被示出为包含在主存储器102中,但这些元素不一定全部完整 地同时包含在同一存储装置中。另外,尽管应用150、简档152、搜索请求页 面154、后代结果页面156、以及搜索结果页面158被示出为分离的实体,但 在其他实施例中,它们中的一些、它们中的一些的部分、或它们中的全部可 被封装在一起。
应用150提供用于将数据存储到简档152的界面。应用150还从服务器 132接收搜索请求页面154,呈现或显示搜索请求页面154,接收用于搜索请 求的数据,并将搜索请求页面154和简档152发送给搜索引擎190。应用150 还接收后代结果页面156和搜索结果页面158,并渲染和显示它们。应用150 还经由指向页面的链接而从服务器135接收所选择的页面。
在各种实施例中,可经由操作系统、用户应用、第三方应用、浏览器、 浏览器的插件、它们的任何组合、或通过在处理器101上执行的可执行指令 或可解释语句来编码的任何合适的程序,而实现应用150。在另一实施例中, 可以用硬件来实现应用150。因为如上面所解释的,应用150可包括组件的 组合,所以, 一个组件(例如,浏览器)可执行一个动作,如检索页面,而 另一组件(例如,插件)向搜索引擎190发送用于搜索的请求。
存储器总线103提供数据通信路径,用于在处理器IOI、主存储器102、 以及I/O总线接口单元105之间传递数据。I/O总线接口单元105还被耦连 到系统I/0总线,以向和从各种I/O单元传递数据。I/O总线接d单元105 通过系统1/0总线104,与还被称为1/0处理器(I0P)或1/0适配器(IOA)的
多个1/0接口单元111、 112、 113和114进行通信。例如,系统1/0总线104 可为工业标准PCI (外围组件接口 )总线、或任何其他适合的总线技术。
1/0接口单元支持与多种存储装置和I/O装置进行通信。例如,终端接 口单元111支持附连一个或多个用户终端121,其可包括用户输出装置(如 视频显示装置或扬声器)以及用户输入装置(如键盘、鼠标、或其他定点装 置)。存储接口单元112支持附连一个或多个直接存取存储装置(DASD)125、 126和127(典型地,其是旋转式磁盘驱动器存储装置,但是,可替换地,它 们可以是其他装置,包括被配置为对主机呈现为单个大存储装置的盘驱动器 的阵列)。根据需要,主存储器102的内容可被存储到直接存取存储装置125、 126和127和从直接存取存储装置125、 126和127检索。
1/0装置接口 113向任何各种其他输入/输出装置、或诸如打印机或传真 机之类的其他类型的装置提供接口。网络接口 114提供从计算机系统100到 其他数字装置和计算机系统132和135的一个或多个通信路径;例如,这样 的路径可包括一个或多个网络130。
尽管在图1中将存储器总线103示出为在处理器101、主存储器102和 I/O总线接口 105之间提供直接通信路径的、相对筒单的单个总线结构,但 事实上,存储器总线103可包括多个不同的总线或通信路径,其可被布置为 任何不同的形式,如按照分级、星状或网状配置的点对点链路、多级总线、 并行和冗余路径、或任何其他合适类型的配置。另外,尽管1/0总线接口 105 和I/O总线104被示出为单个分立单元,但计算机系统100事实上可包含多 个I/0总线接口单元105和/或多个I/0总线104。尽管示出了将系统I/0总 线104与到达各种I/O装置的各种通信路径分离的多个1/0接口单元,但在 其他实施例中,I/O装置中的一些或全部可直接连接到一个或多个系统I/O 总线。
在各种实施例中,计算机系统100可以是多用户"框架(mainframe )" 计算机系统、单用户系统、或者具有较少或没有直接用户接口、但从其他计 算机系统(客户机)接收请求的服务器或类似装置。在其他实施例中,计算 机系统100可被实现为个人计算机、便携式计算机、膝上型或笔记本计算机、 PDA(个人数字助理)、桌上型计算机、口袋型计算机、电话、寻呼机、机动车、 电信会议系统、家用电器、或任何其他合适类型的电子装置。
网络130可以是任何合适的网络或网络组合,并且可支持适用于向/从计
算机系统100、服务器计算机系统132和服务器计算机系统135的传递数据 和/或代码的任何适合的协议。在各种实施例中,网络130可表示直接或间接 连接到计算机系统100的存储装置或存储装置的组合。在一个实施例中,网 络130可支持Infiniband体系。在另一实施例中,网络130可支持无线通信。 在另一实施例中,网络130可支持硬接线(hard wired)通信,如电话线或 线缆。在另一实施例中,网络130可支持以太网IEEE (电气和电子工程师协 会)802. 3x规范。在另一实施例中,网络130可以是因特网,并且可支持IP (因特网协议)。
在另一实施例中,网络130可以是局域网(LAN)或广域网(WAN)。在另一 实施例中,网络130可以是热点服务提供商网络。在另一实施例中,网络130 可以是内联网。在另一实施例中,网络130可以是GPRS(通用分组无线电服 务)网络。在另一实施例中,网络130可以是FRS(家庭无线电服务)网络。在 另一实施例中,网络130可以是任何合适的蜂窝式数据网络、或基于小区的 无线电网络技术。在另一实施例中,网络130可以是IEEE 802. 11B无线网络。 在另一实施例中,网络130可以是任何合适的网络、或网络的组合。尽管示 出了一个网络130,但在其他实施例中,可存在任何数目的网络(相同或不 同类型)。
服务器计算机系统132可包括先前所述的、被包括在客户机计算机系统 100中的硬件组件中的一些或全部。服务器计算机系统132包括连接到处理 器180的存储器182。存储器182是随机存取半导体存储器或其他存储器件, 其存储或编码搜索引擎190、索引192以及搜索器194。
搜索器194 (也称为网络搜索器(spider )、自动机(robot )或代理 (agent ))访问服务器135处的网页,读取它,然后追踪对同一域或网站内 的其他页面的链接。典型地,搜索器194在规律(如每月或其他时间段)的 基础上返回到该站点,以寻找变化。搜索器194将其找到的所选择的信息存 储在索引192中,索引192表示服务器计算机系统135处的页面。下面还参 照图6描述索引192。有时,搜索器194找到的新页面或变化需要一些时间 来被添加到索引192中。由此,网页已被"搜寻到"但还未被"索引"。直到 页面已被添加到索引192之前,利用搜索引擎190进行搜索的人员不能使用 该页面。
搜索引擎190将搜索请求页面154发送给应用150,并且,作为响应,
接收一个或多个搜索关键字、以及包括一个或多个持久关键字的简档152。
在另一实施例中,搜索引擎190可接收搜索关键字和简档152,即使搜索引 擎190还未将搜索请求页面154发送给应用150。搜索引擎190读取关于在 预先创建的索引192中描述的页面的信息,以找到包括匹配搜索关键字的项 目的根页面,并且还找到包括匹配搜索持久关键字的项目的根页面的后代页 面。搜索引擎190找到的后代页面是距离根页面一定层级(其在简档152中 指定的深度内)的、根页面的后代。搜索引擎190将搜索结果页面158和后 代结果页面156返回到应用150,它们分别包括到根页面的链接和到后代页 面的纟连才妻。
在一个实施例中,搜索器194和/或搜索引擎190包括能够在处理器180 上执行的指令、或能够通过在处理器101中执行的指令而被解释的语句,以 执行下面参照图7、图8、图9、图IO和图ll进一步描述的功能。在另一实 施例中,可以以微码来实现搜索器194和/或搜索引擎190。在另一实施例中, 可经由逻辑门和/或其他合适的硬件技术来以硬件实现搜索器194和/或搜索 引擎190。
服务器计算机系统135可包括先前所述的、被包括在计算机系统100中 的硬件组件中的一些或全部。服务器计算机系统135包括在具有与主存储器 102相似的描述的存储器中存储的页面138。页面138可包括能够经由搜索器 194搜寻到、以及经由应用150检索到的任何合适的内容,如文本、视频、 音频、图像、控制标记(tag)、格式化标记、语句、或任何其他合适的数据。 在各种实施例中,可经由文档、文件、对象、表、数据库、目录、子目录、 或它们的任何部分或组合来实现页面138,并且,在一些实施例中,除了数 据之外,页面138还可包括嵌入式控制标记、语句或逻辑。下面参照图2进 一步描述页面138的例子。
应理解,图1意图绘出高级别的客户机计算机系统100、网络130、服务 器计算机系统132以及服务器计算机系统135的代表性的主要组件,各个组 件可具有比图1所示更大的复杂度,还可存在替代或除了图1中示出的组件 之外的组件,并且,这样的组件的数目、类型和配置可变化。在此公开了这 样的其他复杂度或其他变型的几个具体示例;应理解,这些仅仅是通过示例 方式而不一定仅仅是这样的变型。 '
图l所示的、实现本发明的各种实施例的各种软件组件可以用多种方式
来实现,包括使用各种计算机软件应用、例程、组件、程序、对象、模块、 数据结构等,在下文将其称为"计算机程序"或简称为"程序"。典型地,计 算机程序包括一个或多个指令,所述指令在不同的时间驻留在客户机计算机 系统100和/或服务器计算机系统132中的各个存储器和存储装置中,并且,
所述指令当被客户机计算机系统100和/或服务器计算机系统132中的一个或 多个处理器读取并执行时,使客户机计算机系统100和/或服务器计算机系统 132执行必要步骤,以执行包括本发明的各个方面的步骤或元素。
此外,尽管本发明的实施例已经或将在下文中以全功能的计算机系统的 环境来描述,但本发明的各种实施例能够被分发为多种形式的程序产品,并 且本发明等同地应用,而不考虑用于实际进行分发的信号承载介质的具体类 型。定义此实施例的功能的程序可经由可操作性地或通信性地连接(直接或 间接)到处理器(如处理器101和180)的多个有形信号承载介质而传输到 客户机计算机系统100和/或服务器计算机系统132。信号承载介质可包括但 不限于
(1) 在不可重写存储介质(例如,附连到或在计算机系统内部的只读存储 器件,如可由CD-ROM驱动器读取的CD-ROM)上永久性存储的信息;
(2) 在例如硬盘驱动器(例如DASD 125、 126或127)、主存储器1Q2或 182、 CD-RW或盘之类的可重写存储介质上存储的可替换信息;或者
(3) 通过通信介质,如通过计算机或通过例如网络130的电话网络而传送 到客户机计算机系统100和/或服务器计算机系统132的信息。
这样的有形信号承载介质在利用指向本发明的功能的计算机可读和可执 行指令来编码或执行这些指令时代表本发明的实施例。
还可作为具有客户团体、非盈利组织、政府实体、内部组织结构等的服 务管理的一部分而传递本发明的实施例。这些实施例的各方面可包括配置 计算机系统来执行以及部署计算服务(例如,计算机可读代码、硬件和网上 服务),以实现在此所述的方法中的一些或全部。这些实施例的各方面也可包 括分析客户公司,响应于分析而创建建议,生成计算机可读代码来实现部 分建议,将计算机可读代码集成到现有过程、计算机系统和计算基础结构中, 测量(metering)在此描述的方法和系统的使用,向用户指派费用,并且根据
用户对这些方法和系统的使用而向用户开帐单。
此外,可基于在本发明的特定实施例中实现的应用来标识下文中描述的
各种程序。但是,仅仅为了便利而使用以下任何具体的程序术语,因此,本 发明的实施例不应限于仅仅在这样的术语标识和/或暗示的任何特定应用中 使用。
图1所示的示例环境不意图限制本发明。实际上,可使用其他替代硬件 和/或软件环境,而不会脱离本发明的范围。
图2绘出了根据本发明实施例的示例页面138的框图。示例页面138包 括页面138—1、 138—2、 138-3、 138-4、 138—5、 138—6、 138-7、 138—8、 138—9 和138-10,它们的组织可表示为图(graph)。页面138总体上引用页面138-1、 138—2、 138—3、 138—4、 138—5、 138-6、 138-7、 138-8、 138-9和/或138-10。
通常,图包括节点和边的集合。节点(也称为顶点)表示对象或数据, 而边表示页面之间的链接。 一条边链接两个节点,并且,这两个节点被称为 该边的关联(incident);等价地,该边是这两个节点的关联。边可具有方向, 在此情况下,边被称为有向边。如果边的方向远离第一节点而朝向第二节点, 则第一节点称为第二节点的父母节点,第二节点是第一节点的孩子节点。
一类图是树,其表示链接的数据的分级组织。树根据其对自然的树的模 拟而得名,自然的树具有分支和叶的分级组织。例如,叶连接到小分支,其 进一步连接到大分支,并且树的所有分支具有位于根处的公共起始点。类似 地,在图是树的实施例中,节点具有分级组织,其中节点与另一节点具有关 系,另一节点自身与其他节点具有另一关系,依此类推。由此,所有节点可 被划分为最终全都具有对根节点的关系的子组和组。
为更正式性地定义树,树结构定义了节点的分级组织,节点可表示任何 数据。因此,树是一个或多个节点的有限集T,使得
a) —个特别指定的节点被称为树的根;以及
b) 剩余节点(除了根之外)被分为m>=0个不相交(disjointed)的集 合L、..工,,并且,这些集合中的每一个依次是一个树。
树T1、 ...Tm被称为根的子树。由此,树中的每个节点是整个树中包含的 一些子树的根。节点的子树的数目被称为该节点的度(degree)。度为0的节 点被称为末节点(terminal node)或叶。非末节点被称为分支节点。通过假 定根具有层Q来定义关于T的节点的层,并且,其他节点具有比它们相对于 包含它们的子树而具有的层更高的层。每个根是其子树的根的父母,后者是 兄弟(sibling),并且它们还是它们父母的孩子。根的子树中的节点是该根的后代。整个树的根不具有父母。
树的一个不同的定义将树定义为相连的非循环筒单图。简单图不具有共
享同一端节点的多个边。非循环图不包含循环,其中循环是闭合通路(walk)。
通路是图的节点和边的子集的交替序列,从第一节点开始,结束于最后 节点,其中通路中的每个节点是其在序列中之前和之后的两个边的关联,并 且在边之前和之后的节点是该边的端节点。如果第 一 节点和最后节点相同, 则称通路是闭合的,或者,如果第一节点和最后节点不同,则称通路是开放
的。开放通路也称为路径(path)。在各种实施例中,通路中的所有边可以不 同或有区别(在此情况下,通路也称为迹(trail )),或者通路中的一些边可 以相同。可从任何类型的图来形成通路。
由此,在图2的示例中,可由图来表示链接页面138的组织,在此情况 下,节点可表示页面,并且,每个有向边表示从一个页面到另一页面的链接。
例如,页面138-1是页面138的根页面。页面138-1包括指向其孩子页 面138-2、 138-3和138-4的嵌入链接(孩子链接)。页面138-2、 138-3和 138-4是它们的父母页面(即根页面138-1)的后代。页面138-2包括指向其 孩子页面138-5的嵌入孩子链接。页面138-5是其父母页面138-2和页面 138-1的后代。
页面138-3包括指向其孩子页面138-6和138-7的嵌入孩子页面。页面 138-6和138-7是它们的父母页面138-3和页面138-1的后代。页面138-4 包括指向其孩子页面138-3、 138-7、 138-8和138-9的嵌入孩子链接。页面 138-3、 138-7、 138-8和138-9是它们的父母页面138-4和页面138-1的后 代。页面138-8包括指向其孩子页面138-10的嵌入孩子链接。页面138-10 是它们的父母页面138-8、页面138-4和页面138-1的后代。
页面138-3和138-10分别包括项目210-l和210-2。页面138-2、 138-3 和138-4分别包括项目250-1 、 250-2和250-3。 4壬何、 一些或全部页面也可 包括附加项目。
页面138的图包括示例路径205,其是页面138-1、从页面138-1到页面 138-4的嵌入孩子链接、页面138-4、从页面138-4到页面138-8的嵌入孩子 链接、页面138-8、从页面138-8到页面138-10的嵌入孩子链接、以及页面 138-IO的序列。3各径205中的页面138-4、 138-8和138-10是根页面138-1 的后代页面。路径205表示正在观看页面138-1的用户找到包括与简档152中的持久关键字匹配或相同的项目210-2的后代页面138-10的路线。根页面 138-1在路径205中位于层0。页面138-4在路径205中位于层1。页面138-8 在路径205中位于层2。页面138-10在路径205中位于层3。
在各种实施例中,链接是部分或全部量化的URL (统一资源定位符)、或 被嵌入在一个页面中且指向另 一页面的其他地址。链接可包括以下中的任何、 一些或全部通信协议的规范、端口标识符、网络130上的地址、域标识符、 目录或子目录的分层的规范、以及标识目录或子目录的分层内的文件或页面 的文件名。链接可具有相关联的文本,如链接所指向的页面的内容的标题、 摘要或描述。
图3绘出了根据本发明的实施例、用于存储简档数据的示例用户界面的. 框图。应用150经由终端121显示或呈现简档用户界面300,通过终端201 而从用户经由输入区域305 、 310、 315、 320和/或325接收数据,并且将数 据存储或修改到由简档名305标识的简档152。
简档名305命名或标识简档152之一。持久搜索关键字310指定了搜索 引擎190要用来搜索在源自根页面的路径上的、根页面的后代页面的词或项 目。深度315指定后代页面在它们源自根页面的路径上所在的最大层数。具 有深度315的后代页面意指在它们的小于或等于深度315的路径(源自根页 面)上的层上的后代页面。
根页面准则320(其通常指示根页面准则320-1 、 320-2、 320-3和320-4) 规定了搜索引擎190用来选择根页面的一个或多个选择准则。根页面准则 320-1指导搜索引擎190,以将搜索引擎190找到的、包含与由搜索请求规定 的主搜索关键字相匹配的项目的页面指定为根页面。如下面参照图4进一步 描述的,经由搜索用户界面而将主搜索关键字发送给搜索引擎190。
根页面准则320-2规定了应用150响应于书签的选择而检索到的页面 是根页面。响应于根页面准则320-2的选择,应用150将到经由书签检索到 的页面的链接发送给搜索引擎190,并指示搜索引擎190针对持久搜索关键 字310而搜索该根页面的后代,直至源自根页面的路径上的深度315。
根页面准则320-3规定了应用150响应于父母页面中的嵌入孩子链接 的选择而检索到的页面是根页面。响应于根页面准则320-3的选择以及嵌入 孩子链接的选择,应用150检索由孩子链接指向的页面,并将孩子链接发送 给搜索引擎190,指示搜索引擎190针对持久搜索关键字310搜索该根页面 的后代,直至源自根页面的路径上的深度315。如上所述,根页面准则320-3 规定了根页面随着选择链接、并检索页面而改变,于是筒档保持激活,并 且,持久搜索关键字310被用于搜索各个根页面的后代,同时用户在页面之 间进行浏览。
根页面准则320-4规定了应用150响应于链接或地址的人工输入(例 如,经由文本输入)而检索到的页面是根页面。响应于根页面准则320-4的 选择和链接的人工文本输入,应用150检索由该链接指向的页面,并且将该 链接发送给搜索引擎190,指示搜索引擎190针对持久搜索关键字310搜索 该页面的后代,直至源自根页面的路径上的深度315。
选项325向用户提供选择各个选项325-1 、 325-2、 325-3、 325-4、 325-5、 325-6和/或325-7 (统称为选项325)的机会。自动打开选项325-1规定了 应用150在不同于搜索结果页面或根页面的窗口中自动打开和显示后代结果 页面156。后代结果页面156包括到包含与持久搜索关键字310相匹配的项 目的后代页面的链接。搜索结果页面158包括到包含与主搜索关键字相匹配 的项目的根页面的根链接。
自动检索选项325-2指示应用150自动检索和显示搜索引擎190找到的、 包括与持久搜索关键字310相匹配的项目的后代页面。标签选项325-3指示 应用150显示标签,并且响应于该标签的选择,显示包括到包含与持久搜索 关键字310相匹配的项目的后代页面的链接的后代结果页面136。色彩选项 325-4指示应用150高亮显示或以规定彩色显示指向包括搜索引擎190找到 的后代页面的路径的、在根页面或搜索结果页面中嵌入的那些链接,所述后 代页面包含与持久搜索关键字310相匹配的项目。链接通过指向路径中的页 面而指向该路径。创建书签选项325-5指示应用150向书签列表添加搜索引 擎19 0找到的、包含与持久搜索关键字310相匹配的项目的后代页面。
创建持久关键字选项325-6指示应用150向简档152中的持久搜索关键 字310中添加用户已指定的次数(经由图4的搜索界面)超过阁值3"-7次 数的那些主搜索关键字。以此方式,即使未明确地通过简档用户界面300来 指定,用户频繁搜索(超过阈值325-7次数)的主搜索关键字也会变为持久 搜索关键字310。
图4绘出了根据本发明的实施例的示例搜索界面400的框图。jz用150 经由终端121显示搜索用户界面400。搜索用户界面400包括标签405、搜索
请求页面154、以及搜索结果页面158。图4还包括后代结果页面156和后代 页面138-3和138-10。
例如,应用150通过经由链接而检索搜索引擎190的域上的请求的页面, 而从搜索引擎190检索搜索请求页面154。搜索请求页面154包括主搜索关 键字区域415和简档名区域420。主搜索关键字区域415允许用户经由终端 121输入一个或多个主搜索关键字。简档名区域420允许用户指定简档152 的名称或其他标识符。应用150向搜索引擎190发送所输入的主搜索关键字 415和由简档名420指定的简档152。
搜索引擎190搜索包括与主关键字415匹配的项目的页面138,并且将 搜索结果页面158发送给应用150,如图4所示,其渲染并显示搜索结果页 面158。搜索结果页面158包括根链接425-1 、 425-2和425-3,其指向包括 与主搜索关键字415相匹配的项目的页面。根链接425-1 、 425-2和425-3指 向路径,并且搜索引擎190向这些路径搜索包括与在由简档名420标识的简 档152中指定的持久搜索关键字310相匹配的项目210-1和210-2的后代页 面。搜索引擎190搜索位于路径中小于或等于在由简档名420标识的简档152 中指定的深度315的层上的后代页面。(例如,如图3所示,页面138-3位于 源自其根页面138-1的其路径上的层1,而页面138-10位于源自其根页面 138-1的其路径上的层3,并且1和3都小于或等于深度315的示例值3)。 搜索引擎190找到在源自根页面的路径上的、深度315内的层上的后代页面, 将指向那些后代页面的后代链接(例如,后代链接430-1和430-2 )存储到 后代结果页面156中,并且将后代结果页面156发送给应用150。
如果在由简档名420标识的简档152中指定了选项325-1,则如图4所 示,应用150在不同于搜索结果页面158的窗口中显示后代结果页面156。 如果在由简档名420标识的简档152中指定了选项325-2,则应用150经由 在后代结果页面156中找到的后代链接430-1和430-2来从服务器计算机系 统135 ;险索后代页面138-3和138-10,并且经由终端121显示页面138-3和 138-10。如果在由简档名420标识的简档152中指定了选项325-3,则应用 150将后代结果页面156与标签405相关联,并且响应于标签405的选^^而 显示后代结果页面156。例如,可由用户经由键盘、鼠标、语音命令、或使 用终端121的其他选择技术,来选择标签。 、
如果在由简档名420标识的简档152中指定了选项325-4,则应用150
高亮显示或彩色显示搜索结果页面158中的、指向包括后代页面的路径的根
链接(显示具有色彩的链接)。例如,搜索结果页面158中的根链接425-2指 向包括后代页面138-3的路径,于是,应用150高亮显示或彩色显示根链接 425-2。作为另一示例,搜索结果页面158中的根链接425-3指向包括后代页 面138-IO的路径,于是,应用150高亮显示或彩色显示根链接425-3。如图 2所示,因为根链接425-3指向页面138-4,其中页面138-4包括指向页面 138-8的嵌入链接,页面138-8包括指向页面138-1Q的嵌入链接,所以,根 链接425-3指向包括后代页面138-10的路径。
如果在由简档名420标识的简档152中指定了选项325-5,则应用150 将后代链接430-1和430-2添加到书签的列表(下文中将参照图5进一步描 述书签),使得用户将来可容易地检索到所找到的(各个后代链接430-1和 430-2所指向的)后代页面138-3和138-10。如果在由简档名420标识的简 档152中指定了选项325-6,并且如果用户已通过将相同的关键字输入到主 关键字415中超过阈值325-7的次数而搜索了相同的主搜索关键字,则应用 150将主搜索关键字415存储到由简档名420标识的简档152中的持久搜索 关键字310中。
图5绘出了根据本发明的实施例、用于经由链接检索页面的示例用户界 面500的框图。应用150经由终端121显示应用用户界面500。应用用户界 面500包括标签505 、书签510、用于根页面链接的输入区域515、用于简档 名的输入区域520、以及页面138-1。图5还包括后代结果页面156以及后代 页面138-3和138-10。
书签510存储到页面的链接的列表以及相关联的标题、摘要或描述。书 签510是让用户指定由应用150从服务器计算机系统135检索的页面的技术。 简档名区域520允许用户指定简档152的名称或其他标识符。
如果由简档名520标识的简档152指定了根页面准则320-2,则响应于 书签510中的链接的选择,应用150在用户界面500的区域515中显示书签 链接(到根页面的链接),检索书签链接所指向的根页面138-1,并且在终端 121上渲染和显示根页面138-1。如果由简档名520标识的简档152指定了根 页面准则320-4,则响应于4连接地址515的人工用户输入,应用15(H全索链 接515指向的根页面(此例中是页面138-1 ),并且在终端121上渲舉和显示 根页面138-1。如前面参照图2所述,根页面138-1包括指向其孩子页面
138-2、 138-3和138-4的嵌入孩子链接525-1 、 525-2和525-3。
同样,响应于链接515和简档名520的指定,搜索引起190进一步向搜 索引擎190提交搜索请求,其请求搜索引擎190搜索在位于源自根页面138-1 (链接515指向的页面,无论是经由人工文本输入或标签而输入)的路径上 的层上的后代页面中包括的持久搜索关键字310,其中所述层在源自根页面 138-1的深度315内(小于或等于深度315 )。
搜索引擎190接收具有简档和到根页面138-1的链接的搜索请求,并且 作为响应,执行搜索在位于源自根页面138-1的路径上的层上的后代页面中 包括的持久搜索关键字310,其中所述层在源自根页面138-1的深度315内 (小于或等于深度315 )。搜索引擎190在源自根页面的路径上的深度315内 的层上找到后代页面138-3和138-10,将指向这些后代页面的后代链接530-1 和530-2存储到后代结果页面156中,并将后代结果页面156发送到应用150。 (例如,页面138-3位于源自其根页面138-1的其路径上的层1,而页面 138-10位于源自其根页面138-1的其路径上的层3,并且1和3都小于或等 于3,即深度315。)
如果由简档名520标识的简档152指定了选项325-1 ,则应用150在不 同于所检索到的根页面138-1的窗口中显示后代结果页面156。如果在由简 档名520标识的简档152指定了选项325-2,则应用150经由在后代结果页 面156中找到的后代链接525-1和525-2来检索后代页面138-3和138-10, 并经由终端121显示后代页面138-3和138-10。如果由简档名520标识的简 档152指定了选项325-3,则应用150将后代结果页面156与标签505相关 联,并在例如经由键盘、鼠标、语音命令、或终端121上的其他选择技术而 选择了标签505的情况下,显示后代结果页面156。
如果由简档名520标识的简档152指定了根页面准则325-4,则应用150 高亮显示或彩色显示(显示具有色彩的链接)根页面138-1中的、指向包括 后代页面138-3和138-10的路径的链接。例如,根页面138-1中的链接525-2 指向包括后代页面138-3的路径,于是,应用150高亮显示或彩色显示链接 525-2。作为另一示例,根页面138-1中的链接525-3指向包括后代页面138-10 的路径,于是,应用150高亮显示或彩色显示链接525-3。如先前参照图2 所述,因为链接525-3指向页面138-4,其中页面138-4包括指向f面138-8 的嵌入链接,页面138-8包括指向页面138-10的嵌入链接,所以,链接525-3
指向包括后代页面138-10的路径。
如果在由简档名520标识的简档152中指定了选项325-5,则应用150 将后代链接530-1和530-2添加到书签510,使得用户将来可容易地检索到 所找到的(各个后代链接530-1和530-2指向的)后代页面138-3和138-10。
图6绘出了根据本发明的实施例的用于索引192的示例数据结构的框图。 如下面进一步参照图7所述,搜索器194创建索引192。索引192包括每个 页面138的地址605、项目列表610、标题615、摘要620、页面流行度625、 传出(outgoing)链接645、以及传入(incoming)链接650。
地址605包括页面138在服务器135处的URL或其他地址。项目列表610 包括由地址605标识的页面138中的每个项目的项目条目630的列表。每个 项目条目630包括项目635和项目权重640。项目635包括页面138中的词 或词组。权重640指示相关联的项目635与项目列表610中的其他项目635 (其表示由地址605标识的页面中的其他词)相比的相对权重、显著度或重 要性。
搜索器194可基于权重640的相关联的项目635在页面(由地址605指 向)上的位置和/或相关联的项目635在页面138上出现的频率,来确定该权 重640。例如,搜索器194可对在标题或头部出现的项目分配更高的权重, 这是因为,搜索器194假定在标题或头部出现的项目比在页面中的其他位置 上出现的项目更相关或更重要。另夕卜,搜索器194也可以向接近页面顶部(如 在标题行(headline)或在前几段文本中)出现的项目分配更高的权重,这 是因为,搜索器194假定与主题有关的任何页面将在开始处提及那些词。另 外,搜索器194也可以向以较大字体大小出现的项目分配比以较小字体大小 出现的项目更高的权重,这是因为,搜索器194假定以较大字体显示的项目 比以较小字体显示的项目更重要。搜索器194也可以向以元标签(meta tag) 出现的项目分配更高的权重。搜索器194也可以分析项目相对于页面中的其 他词是如何频繁地出现,并向那些更频繁出现的项目635分配更高的权重。
标题615和摘要620可以是描述相关联的地址605处的页面的任何文本、 音频、视频或图像。在另一实施例中,索引192可包括由地址605指向的页 面的任何部分或全部。页面流行度625指示地址605处的页面138与索引192 描述的其他页面相比的相对重要性。
传出链接645指定在指向地址605处的页面的孩子页面的、地址605处
的页面中嵌入的孩子链接。传入链接650指定在包括指向地址605处的页面 的链接的、地址605处的页面的父母页面。
图7绘出了根据本发明的实施例的、用于搜索器194的示例处理的流程 图。周期性地执行图7的处理,使得搜索器194可搜寻和处理已被添加到服 务器计算机系统135的、或自从搜索器194上次搜寻到页面138起修改了的 任何页面138。
控制从块700开始。然后,控制继续到块705,其中搜索器194进入对 每个页面138执行一次的循环。搜索器194可搜寻全部页面138或页面138 的子集。只要更多页面138仍要被图7的逻辑搜寻,控制便从块705继续到 块710,其中搜索器194从服务器计算机系统135检索当前页面138。
然后,控制继续到块715,其中搜索器194将当前页面138添加到索引 192。将当前页面138添加到索引192包括在地址605中存储当前页面138 的地址,选择并在索引192的项目635中存储在当前页面138中存在的项目, 计算和存储索引192中所选择的项目的权重640,并且找到和存储该页面的 传出链接645 (页面中的嵌入孩子链接)和传入链接650。在一个实施例中, 搜索器194追踪当前页面的传出链接645到当前页面的传出链接645所指向 的孩子页面,并且设置孩子页面的传入链接650,以指示当前页面是该孩子 页面的传入链接。搜索器194还可以从页面选择和存储信息,如标题615、 摘要620、或者页面138中的一些或全部。
搜索器194可使用任何合适的技术来选择项目635和权重640。例如, 在一个实施例中,搜索器194可选#^忽略页面138中的短的常用词语(例如, "a (—个)"、"and (和)"以及"the (该)"),并且不在项目635中存储这 些词语。在一个实施例中,搜索器194可基于所选项目635在当前页面138 中的位置和/或频率来选择权重640。例如,搜索器194可向那些在页面138 的标题部分中出现的所选项目635分配较高的权重640,并向那些在页面138 的底部出现的项目635分配更较的权重640。在一个实施例中,搜索器194 可向那些在页面138中被使用得较频繁的项目635分配较高的权重640,而 向那些在页面138中使用得较不频繁的项目635分配较低的权重640。在一 个实施例中,搜索器194可向那些在页面138中具有较大字体大小的项目635 分配较高的权重640,而向那些在页面138中具有较小字体大小的项'目635 分配较低的权重640。在一个实施例中,搜索器194可向那些在元标签内的项目635分配较高的权重640,而向那些不在页面138的元标签内的项目635 分配專交低的权重640。
在各种实施例中,搜索器194可经由闭合题目标签、副本(transcript )、 以及用于分析音频或音频与视频的语音识别技术来找到页面138中的项目。 但是,在其他实施例中,搜索器194可使用任何合适的技术来从页面138选 择用来存储在项目635中的项目,以及选择用于那些项目635的权重640。
控制继续到块705,其中,如先前所述的,搜索器194确定是否还存在 要被搜寻的另一页面。
如果搜索器194已搜寻到每个页面138或页面138的子集中的每个页面, 则控制从块705继续到块725,其中搜索器194计算索引192中的每个页面 138的页面流行度625 。在一个实施例中,搜索器194可使用页面上 (on-the-page)准则或页面外(off-the-page)准则中的一个或两者来确定页 面流行度625。页面上准则可包括由索引描述的各个页面中的项目635的相 对4又重640。
页面外流行度准则使用在页面本身的外部的数据。页面外流行度准则的 一个例子是链接分析,其中搜索器194分析页面如何彼此链接,已确定页面 相对于其他页面的相对重要性。例如,搜索器194可向具有许多传入链接650 的页面(许多其他页面链接到的页面,这是因为,这样的页面很可能是重要 的页面)分配较高的页面流行度625。此外,搜索器194可使用递归页面流 行度,其中链接到被链接页面的页面的页面流行度6 2 5也是被链接页面的流 行度的因素。页面流行度625是数值,其表示页面与索引192中描述的所有 其他页面相比有多么重要。页面流行度625基于如下思想当一个页面链接 到另一页面时,其有效地对其他页面投票。页面得到的投票越多,则该页面 越重要。而且,在一个实施例中,被投票的页面的重要性确定投票本身有多 么重要。.
然后,控制继续到块799,其中图7的逻辑返回。
图8和图9绘出了使用简档152来搜索根页面的后代页面的示例处理的 流程图。在图8中,经由链接来检索根页面。在图9中,通过搜索来找到根 页面,并且,根页面包括与主搜索关键字相匹配的项目。
在图8中,控制在块800开始。然后,控制继续到块805,其中应用150 在终端121上呈现或显示简档用户界面300,从简档用户界面300接收l命入
数据,并且将输入数据保存到由简档名305命名的简档152。输入数据可包 括简档名305 、持久搜索关键字310、深度315、根页面选项320-1、 320-2、 320-3或320-4的指定、以及选项325-1 、 325-2、 325-3、 325-4、 325-5 、 325-6 和/或325-7的指定。
然后,控制继续到块810,其中应用150接收到根页面的链接和检索根 页面的请求,例如,经由用户界面500和输入到输入区域515中的人工文本, 通过从书签510选择链接,或者通过选择在父母页面中嵌入的孩子链接来接 收该链接和请求。应用150还可经由简档名区域520来接收可选的简档名。 然后,控制继续到块815,其中,应用150向服务器计算机系统135发送检 索由该链接指向的根页面的请求。
然后,控制继续到块820,其中应用150确定是否从用户界面500接收 到简档152、或者简档152对于根页面的检索来说是激活的且包含有效数据。 应用150还确定所接收的链接是否满足在简档152中指定的根页面准则320。 即,如果在所接收的、由筒档名520命名的简档152中指定了根页面准则 320-2,则应用150确定所接收的链接是否是经由选择书签510而接收的;如 果在所接收的、由简档名520命名的简档152中指定了根页面准则320-3, 则应用150确定所接收的链接是否是从所选择的、父母页面中的嵌入孩子链 接接收的;以及如果在所接收的、由简档名520命名的简档l52中指定了根 页面准则320-4,则应用150确定所接收的链接是否是从输入区域515中人 工输入的地址4妄收的。
如果块820处的确定为真,则简档152已被接收到、或者对于根页面的 检索来说是激活的且包含有效数据,并且,该链接满足在由简档名520命名 的简档152中指定的简档根准则320,则控制继续到块825,其中应用150向 搜索引擎190发送具有简档152和指向根页面的链接的搜索请求。在另一实 施例中,应用15Q向搜索引擎190发送从简档152选择的数据(如持久搜索 关键字310和深度315 )、以及指向根页面的链接。搜索请求指示搜索引擎190 针对与持久搜索关键字310相匹配的项目来搜索(由该链接指向的)根页面 的后代页面,其中该后代页面是根页面的后代,且存在于源自根页面的路径 的层上,并且其中,所述层在深度315内、直到深度315、或者小于或等于 深度315。 s
然后,控制继续到块830,其中搜索引擎190接收具有筒档152和到根
页面的链接的搜索请求。如后面参照图11进一步详细描述的,响应于该请求,
搜索引擎190执行搜索,并将后代结果页面156发送给应用150。
然后,控制继续到块835,其中应用150从服务器接收根页面(如先前 在上面所述的,先前在块815请求的),并且经由终端121渲染(格式化)和 显示该根页面(例如,如图5所示的根页面138-1 )。然后,控制继续到块840, 其中应用150从搜索引擎190接收后代结果页面156。然后,控制继续到块 845,其中应用150确定在简档152中指定的选项325,并且#1行由选项325 指定的动作。
如果应用150确定在简档152中指定了自动打开选项325-1,则应用150 在不同于搜索结果页面的窗口中打开后代结果页面156。
如果应用150确定在简档152中指定了自动检索选项325-2,则应用150 经由在后代结果页面156中包括的后代链接530-1和530-2来接收和显示后 代页面138-3和138-10 (其包括与持久搜索关键字310相匹配的项目)。
如果应用150确定在简档152中指定了标签选项325-3,则应用150显 示标签505,并且响应于选择该标签505,应用150显示包括指向搜索引擎 190找到的、包含与持久搜索关键字310相匹配的项目的后代页面138-3和 138-10的后代链接530-1和530-2的后代结果页面156。
如果应用150确定在简档152中指定了色彩选项325-4,则应用150高 亮显示或以规定彩色显示在根页面138-1中嵌入的那些链接,所述链接指向 包括搜索引擎190找到的、包含与持久搜索关键字310相匹配的项目210-1 和210-2的后代页面138-3和138-10的路径。链接通过指向路径中的页面而 指向该路径。
如果应用150确定在简档152中指定了创建书签选项325-5,则应用150 向书签510添加指向各个后代页面138-3和138-10的链接530-1和530-2。
然后,控制继续到块850,其中应用150确定所接收的根页面是否是提 供用于向搜索引擎190提交搜索的界面的搜索请求页面(如先前参照图4所 述的搜索请求页面154)。
如果块850处的确定为假,则所接收的根页面不是搜索请求页面154, 因此控制返回块810,其中如上所述,应用150接收另一链接。
如果块850处的确定为真,则所接收的根页面是搜索请求页面'154,因 此控制继续到图9的块905,其中操作150从搜索页面154的用户界面接收
主搜索关键字415。
然后,控制继续到块910,其中应用150确定简档152是否已被接收到 或者对于搜索请求(包括根页面准则320-1 )是激活的、且包含有效数据。 如果块910处的确定为真,则应用接收到简档152,并且简档152对于根页 面的检索是激活的、且包含有效数据,于是控制继续到块915,其中应用150 向搜索引擎190发送具有主搜索关键字415和由简档名420命名的简档152 的搜索请求。在另一实施例中,应用150向搜索引擎190发送从简档152选 择的数据(如持久搜索关键字310和深度315 )。搜索请求指示搜索引擎190 搜索包括与持久搜索关键字310相匹配的项目635的根页面的后代页面,其 中所述后代页面是根页面的后代,其存在于源自根页面的路径的层上,并且 其中,所述层在深度315内、直到深度315、或者小于或等于深度315,并且 其中,搜索引擎190找到包括与主搜索关键字相匹配的项目的根页面。
然后,控制继续到块920,其中搜索引擎190接收具有主搜索关键字和 简档152的搜索请求。如后面参照图IO进一步详细描述的,响应于该请求, 搜索引擎190执行搜索,并将后代结果页面156发送给应用150。
然后,控制继续到块925,其中,如先前在上面通过参照图4而描述的, 应用150从搜索引擎190接收搜索结果页面158,并且经由终端1"渲染(格 式化)和显示搜索结果页面158。然后,控制继续到块930,其中应用150从 搜索引擎190接收后代结果页面156。然后,控制继续到块935,其中应用 150确定在简档152中指定的选项325 ,并且执行由选项325指定的动作。
如果应用150确定在简档152中指定了自动打开选项325-1,则如图4 所示,应用150在不同于搜索结果页面158的窗口中打开和显示后代结果页 面156。
如果应用150确定在简档152中指定了自动检索选项325-2,则应用150 经由在后代结果页面156 (图4)中包括的后代链接430-1和430-2,来检索 和显示后代页面138-3和138-10 (其包括与持久搜索关键字310相匹配的项 目210-1和210-2 )。
如果应用150确定在简档152中指定了标签选项325-3,则应用150将 后代结果页面156与标签405相关联,并显示标签405,并且,响,于选择 该标签40.5,应用150显示包括指向搜索引擎190找到的、包含与持久搜索 关4建字310相匹配的项目430-1和430-2的后代页面138-3和138-10的后代
链接430-1和430-2的后代结果页面156。
如果应用150确定在简档152中指定了色彩选项325-4,则应用150高 亮显示或以规定彩色显示在搜索结果页面158中嵌入的那些根链接,其中搜 索结果页面158指向包括搜索引擎190找到的、包含与持久搜索关键字310 相匹配的项目的后代页面138-3和138-10的路径。链接通过指向路径中的页 面而指向该44圣。
如果应用150确定在简档152中指定了创建书签选项325-5,则应用150 向书签510添加指向各个后代页面138-3和138-10的链接430-1和430-2。
然后,控制继续到块940,其中应用150对用户通过搜索请求提交、且 由搜索引擎190搜索到主搜索关键字415的次数进行计数。应用150还确定 该次数是否大于阈值325-7。如果已向搜索引擎190提交主搜索关键字415 用于搜索的次数大于阈值325-7,则应用150将该主搜索关键字415添加到 简档152中的持久搜索关键字310,使得在下次使用简档152来搜索后代页 面时,搜索引擎190搜索持久搜索关键字310,其中的一些是在先前的搜索 中使用的主关键字415。
然后,控制返回块810 (图8),其中如先前所述,应用150接收另一链接。
如果块910处的确定为假,则简档152不是激活的,不包括根准则320-1, 或者未接收到针对搜索请求的简档,因此控制返回到块9",其中应用150 向搜索引擎190发送具有主搜索关键字415的搜索请求。然后,控制继续到 块950,其中如下面进一步参照图IO所述的,搜索引擎190搜索主搜索关键 字415。然后,控制继续到块955,其中应用150从搜索引擎190接收搜索结 果页面158,并渲染和显示搜索结果页面158。然后,控制返回到块810(图 8),其中如先前所述,应用150接收另一链接。
再次参照图8,如果块820处的确定为假,则未接收到简档152、链接不 满足根准则320、或者不是激活的,因此控制继续到块855,其中应用150从 服务器接收根页面,并渲染和显示根页面。如先前所述,然后,控制继续到 块850。
图10绘出了根据本发明的实施例、用于使用简档搜索页面的示例处理的 流程图。控制在块1000开始。然后,控制继续到块1005,其中应用、150接 收具有主搜索关键字415和可选筒档152的搜索请求,简档152包括来自应
用150的持久搜索关键字310和深度315。
然后,控制继续到块1010,其中搜索引擎190启动对索引192中包括与 主搜索关键字415相匹配(相同)的项目635的每个页面执行一次的循环。 只要块1010的确定为真,则存在还未被从块1005开始的循环处理的当前页 面、且当前页面包含与主搜索关键字415相匹配的项目635,因此控制继续 到块1015,其中搜索引擎190将当前页面的总数(total)设置为0。
然后,控制继续到块1020,其中搜索引擎190进入对与主搜索关键字415 相匹配的当前页面中的每个项目635执行一次的循环。只要当前页面包括与 主搜索关键字415相匹配的当前项目635、且当前项目635还未被从块1020 开始的块处理,则控制便继续到块1025,其中搜索引擎190将当前页面总数 设置为当前页面总数加上被分配给当前页面中的当前项目635的、索引192 中的权重640。然后,控制返回块1020,其中搜索引擎190将当前匹配项目 635设置为当前页面中的下一匹配项目635,并且确定当前页面中的所有匹配 项目635是否已被从块1020开始的循环处理。
一旦已经处理了当前页面的所有匹配项目635,则完成了从块1020开始 的循环,因此控制从块1020继续到块1030,其中搜索引擎190将当前页面 的匹配分数(score)设置为由从块1020开始的循环所计算的当前页面总数乘 以当前页面的页面流行度625。在一个实施例中,当前页面匹配分数由此指 示当前页面包括与主搜索关键字415相匹配的项目635的相关程度、当前页 面中的项目635在当前页面中重要性的相关程度、以及/或与索引192所描述 的其他页面相比当前页面的流行性或重要性的相关程度。
然后,控制继续到块1035,其中搜索引擎190确定当前页面匹配分数是 否大于匹配阈值。在一个实施例中,匹配阈值是0,意味着包含即使一个与 主搜索关键字415相匹配的项目的页面也是相关的,而不管项目在当前页面 内的位置,也不管当前页面的不流行度。在其他实施例中,匹配阔值可以是 固定的或可变的。例如,在一个实施例中,搜索引擎190与找到的根页面的 后代页面的数目成比例地、与找到包括匹配关键字的项目的根页面的后代页 面的数目成比例地、与根页面中的孩子链接的数目成比例地、与源自每个、 一些或所有孩子链接的路径的数目成比例地、或基于任何其他合适的准则, 来改变匹配阈值。搜索引擎190可改变匹配阈值,以便将相关路径和直接后 代链接的数目调整为可由用户管理且对用户有用的水平。
如果块1035处的确定为真,则当前页面匹配分数高于匹配阈值,于是控
制从块1035继续到块1040,其中搜索引擎190将指向当前页面的链接添加 到搜索结果页面158,按照搜索结果页面158中链接的匹配分数进行排序。 然后,控制继续到块1045,其中搜索引擎190确定是否接收到简档152。如 果块1045处的确定为真,则接收到简档152,因此控制继续到块1050,其中 如下面进一步参照图11所述,搜索引擎190利用简档152,向在直到深度315 的路径上的根页面(当前页面)的后代页面搜索与持久搜索关键字310相匹 配的项目。然后,控制返回到块IOIO,其中如先前所述,搜索引擎190将当 前页面设置为包括与主搜索关键字415相匹配的项目635的下一页面。
如果块1035处的确定为假,则当前页面匹配分数不高于匹配阈值,因此 如先前所述,控制从块1035返回到块1010。
如果块1045处的确定为假,则未接收到简档152,因此如先前所述,控 制返回到块1010。
当在索引192中描述的、且包括与主搜索关键字415相匹配的项目635 的所有页面已被从块1010开始的循环处理过时,该循环完成,因此控制从块 1010继续到块1055,其中搜索引擎190向应用150发送搜索结果页面158。 然后,控制继续到块1055 ,其中图10的逻辑返回。
图11绘出了根据本发明的实施例、利用简档152来搜索根页面的后代页 面的示例处理的流程图。控制从块1100开始。然后,控制继续到块1105, 其中搜索引擎190接收简档152 (或从筒档152选择的数据)以及到根页面 的链接。在一个实施例中,搜索引擎190从应用150接收简档152和链接, 其是如先前参照图8的块825所述的那样、由应用150发送的。在另一实施 例中,如前面参照图10的块1050所述,搜索引擎190从搜索引擎逻辑内部 地接收简档152和链接。
然后,控制继续到块1110,其中搜索引擎190将当前层设置为1,代表 源自根页面(其由所接收的到根页面的链接所指向)的第一层。在一个实施 例中,当前层是搜索引擎190当前沿着源自根页面的路径进行搜索所在的层, 但在其他实施例中,可使用任何合适的搜索技术和层跟踪机制。然后,控制 继续到块1115,其中图11的逻辑进入对远离根页面的每个层执行一次的循 环,直到深度315 (要搜索的最大层)。在块1115,针对与持久搜索关键字 310相匹配的项目,搜索引擎190向索引192搜索位于当前层(在源自根页
面的路径上)上的、根页面的后代页面。
如果当前层等于1,则搜索引擎190在根页面中找到孩子链接,然后在
匹配孩子链接的索引192中找到地址605。与所找到的、匹配根页面的孩子 链接的地址605相关联的索引192中的项目635是孩子页面中的项目635, 因此它们是源自根页面的层1上的后代页面。如果当前层大于1,则搜索引 擎190追踪与根页面的地址605相关联的传出链接645,以便找到层2上的、 索引192中的后代页面。搜索引擎190重复此过程,以便找到其他层上的后 页面。
然后,控制继续到块1120,其中搜索引擎190通过确定与后代页面的地 址605相关联的索引192中的任何项目635是否与持久搜索关键字310相同, 来确定是否找到作为当前层上的、根页面的任何后代页面中的项目635的任 何持久搜索关键字310。
如果块1120处的确定为真,则在索引192中描述的且存在于当前层(在 源自根页面的路径上)上的页面包含与所接收的持久搜索关键字310之一相 匹配(相等)的项目635,因此控制继续到块1125,其中搜索引擎1M确定 当前层上的、包含与持久搜索关键字310相匹配的项目635的所有后代页面 是否在源自根页面的、成为循环的路径上。
如果块1125处的确定为真,则当前层上的、包含与持久搜索关键字310 相匹配的项目635的所有后代页面都在源自根页面的、成为循环的路径上, 于是控制继续到块1130,其中搜索引擎190将当前层增加1。然后,控制继 续到块1135,其中搜索引擎190确定当前层是否大于深度315 (远离根页面 的、搜索引擎190要搜索的最大层)。
如果块1135处的确定是真,则当前层大于深度315,于是远离根页面的、 深度315内的所有层已经被图11的逻辑搜索过。由此,不需要搜索更多页面, 并且搜索引擎190停止搜索页面。
然后,控制继续到块1140,其中搜索引擎190将后代结果页面156发送 给应用150。然后,控制继续到块1199,其中图ll的逻辑返回。
如果块1135处的确定为假,则当前层不大于深度315,并且源自根页面 的、深度315内的更多层留待搜索,于是控制返回到块1115,其中如前所述, 搜索引擎190继续在新的当前层上搜索。
如果块1125处的确定为假,则在当前层上存在包括与匹配持久搜索关键 字310相匹配的项目635的至少一个后代页面,并且在源自根页面的、不是 循环的路径(例如,路径205 )上存在至少一个后代页面,因此控制继续到 块1145,其中搜索引擎将指向所找到的后代页面(其包含与匹配持久搜索关 键字310相匹配项目210-1或210-2,且在不是循环的路径上)的后代链接 430-1和430-2添加到后代结果页面156。然后,控制继续到块1130,其中 如前所述,搜索引擎使当前层递增。
如果块1120处的确定为假,则在索引192中描述为存在于从根页面沿着 路径的当前层上的所有页面不包括与匹配持久搜索关键字310相匹配的项目 635,因此控制继续到块1130,其中如前所述,搜索引擎19Q将当前层递增 到下一层。
尽管上面已将本发明的实施例的各种功能描述为由服务器计算机系统 132处的搜索引擎190以及由客户机计算机系统100处的应用150来实现, 但在其他实施例中,被描述为在应用150中实现的本发明的功能可在搜索引 擎190中实现,并且,反之亦然。由此,在各种实施例中,请求方(提供到 根页面的链接、请求搜索、并提供主和持久搜索关键字和其他数据)可以是 选择界面元素、输入数据和观看用户界面300、 400或500的用户,或者,请 求方可以是发送数据到搜索引擎190的应用150。
在本发明的示例实施例的先前的具体描述中,参照了形成本发明 一部分 的附图(其中相同的附图标记表示相同的元素),并且附图中通过例示的方式 示出了实践本发明的特定示例实施例。足够详细地描述了这些实施例,以使 得本领域技术人员能够实践本发明,但是可采用其他实施例,并且可进行逻 辑、机械、电学和其他的改变,而不会脱离本发明的范围。在先前的描述中, 阐述了多个特定细节以提供本发明的实施例的完整的理解。但是,没有这些 特定细节也可以实践本发明。在其他实例中,为了不混淆本发明,未示出公 知电^各、结构和纟支术。
在此说明书中使用的词语"实施例"的不同实例不必指示相同的实施例, 但它们可以。在此示出或描述的任何数据和数据结构仅仅是示例,并且在其 他实施例中,可使用不同的数据数量、数据类型、字段、字段数目和类型、 字段名、行的数目和类型、记录、条目或数据组织。此外,任何数据可与逻 辑相组合,从而分离的数据结构不是必要的。因而,先前的详细说坍不应当 作限制意义的,并且仅仅由所附权利要求限定本发明的范围。
权利要求
1、一种方法,包括从请求方接收请求,其中所述请求包括主关键字和简档,其中所述简档包括至少一个持久关键字;响应于该请求,找到根页面,其中所述根页面包括匹配所述主关键字的第一项目;响应于该请求,找到第一后代页面;以及确定所述第一后代页面是所述根页面的后代,以及所述第一后代页面包括匹配所述持久关键字的第二项目。
2、 如权利要求l所述的方法,还包括向所述请求方发送根链接和后代链接,其中所述根链接指向所述根页面, 并且所述后代链接指向所述第一后代页面。
3、 如权利要求l所述的方法,还包括向所述根页面的多个后代页面搜索匹配所述持久关键字的第二项目,其 中,所述搜索还包括确定所述多个后代页面位于源自所述根页面的多个路 径上的多个层,以及确定所述层在距离根页面的一个深度内,其中所述简档还包括所述深度。
4、 如权利要求l所述的方法,还包括响应于找到所述第一后代页面,向所述请求方发送指向所述第 一后代页面的后代链接。
5、 如权利要求l所述的方法,还包括对已从请求方接收到所述主关键字的次数进行计数;以及如果所述次数大于阈值数,则将所述主关键字添加到所述简档中的至少一个持久关键字。
6、 如权利要求2所述的方法,还包括 显示所述根链接;显示标签;以及响应于所述标签的选择,经由所述后代链接而检索所述第一后代页面。
7、 如权利要求l所述的方法,还包括 将所述后代链接添加到书签。
8、 一种通过指令编码的信号承载介质,其中所述指令在被执行时包括前 述权利要求所述的任一方法的步骤。
9、 一种计算机系统,包括 处理器;以及连接到所述处理器的存储器,其中该存储器对指令进行编码,所述指令 在被所述处理器执行时包括从请求方接收请求,其中所述请求包括主关键字和简档,其中所述 简档包括至少 一个持久关键字;响应于该请求,找到多个#^页面,其中所述多个^f艮页面包括匹配所 述主关键字的第一项目;响应于该请求,搜索作为所述多个根页面的后代的多个后代页面;以及确定所述多个后代页面之中的第一后代页面包括匹配所述持久关键 字的第二项目。
10、 如权利要求9所述的计算机系统,其中所述指令还包括 向所述请求方发送指向所述多个根页面的多个根链接;以及 向请求方发送指向所述第一后代页面的第一后代链接。
11、 如权利要求9所述的计算机系统,其中所述确定还包括确定所述多个后代页面位于源自根页面的多个路径上的多个层,以及确 定所述层在距离根页面的一个深度内,其中所述简档还包括所述深度。
12、 如权利要求9所述的计算机系统,其中所述指令还包括 对已从请求方接收到所述主关键字的次数进行计数;以及如果所述次数大于阈值数,则将所述主关键字添加到所述简档中的至少 一个持久关键字。
13、 如权利要求IO所述的计算机系统,其中所述指令还包括 显示所述多个根链接;显示标签;以及响应于所述标签的选择,经由所述第 一后代链接而检索所述第 一后代页面。
14、 如权利要求10所述的计算机系统,其中所述指令还包括 显示所述多个根链接;以及彩色显示指向包括所述第 一后代页面的路径的根链接。
15、如权利要求11所述的计算机系统,其中所述指令还包括确定包括所述第 一后代页面的路径不是循环。
全文摘要
接收包括主关键字和持久关键字的请求。响应于请求,找到包括与主关键字匹配的第一项目的根页面。向根页面的后代页面搜索匹配持久关键字的第二项目。该搜索确定后代页面位于源自根页面的多个路径上的多个层,以及这些层位于距离根页面的一定深度内。找到作为根页面的后代且包括匹配持久关键字的第二项目的后代页面。将指向根页面的根链接和指向后代页面的后代链接发送给请求方。如果接收主关键字的次数大于阈值数,则将主关键字添加到持久关键字。
文档编号G06F17/30GK101201843SQ20071018160
公开日2008年6月18日 申请日期2007年10月19日 优先权日2006年12月12日
发明者布赖恩·P·沃伦费尔特, 扎卡里·A·加鲍, 理查德·M·泰斯, 蒂莫西·P·克拉克 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1