CN101201843A - 用于搜索的方法和计算机系统 - Google Patents
用于搜索的方法和计算机系统 Download PDFInfo
- Publication number
- CN101201843A CN101201843A CNA2007101816021A CN200710181602A CN101201843A CN 101201843 A CN101201843 A CN 101201843A CN A2007101816021 A CNA2007101816021 A CN A2007101816021A CN 200710181602 A CN200710181602 A CN 200710181602A CN 101201843 A CN101201843 A CN 101201843A
- Authority
- CN
- China
- Prior art keywords
- page
- offspring
- link
- root
- profile
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
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)
- User Interface Of Digital Computer (AREA)
Abstract
接收包括主关键字和持久关键字的请求。响应于请求,找到包括与主关键字匹配的第一项目的根页面。向根页面的后代页面搜索匹配持久关键字的第二项目。该搜索确定后代页面位于源自根页面的多个路径上的多个层,以及这些层位于距离根页面的一定深度内。找到作为根页面的后代且包括匹配持久关键字的第二项目的后代页面。将指向根页面的根链接和指向后代页面的后代链接发送给请求方。如果接收主关键字的次数大于阈值数,则将主关键字添加到持久关键字。
Description
技术领域
本发明的实施例总体上涉及搜索在计算机系统中存储的信息的链接页面,并且更具体地,涉及针对持久(persistent)关键字来搜索根页面的后代页面。
背景技术
多年前,计算机是不互相通信的隔离装置。但是,今天,计算机常常连接在网络中,如因特网或万维网,并且位于一个计算机(经常称为客户机)处的用户可能希望经由网络存取在多个其他计算机(常常称为服务器)处的信息。信息经常被存储在服务器处,并以页面为单位被发送到客户机,这些页面经由嵌入的超链接或链接而被连接在一起。链接是地址,如被嵌入在带链接页面中的链接页面的URL(统一资源定位符),当其被选择时,使得该链接页面被检索。因为因特网包括如此多的页面,所以,找到感兴趣的页面可能很难,因此许多公司提供搜索引擎,其允许用户搜索包含关键字的页面。
当前的搜索引擎一般具有搜索因特网的领域中的针对于关键字的组合的较强的技术,并且通常可找到接近期望的结果并与关键字有关的页面。但是,所找到的页面常常过于广泛,并且不是用户期望的特定页面。相反,常常从所找到的页面之一链接(直接或间接)特定页面。不幸的是,所找到的页面常常包含许多链接,并且追踪所有链接是乏味且耗时的。
在针对这些问题的尝试中,一些站点提供它们自己的搜索功能,其允许用户向该特定站点搜索关键字。但是,这些搜索功能仅仅在该站点上存储了感兴趣的页面的情况下才有用。如果感兴趣的页面不在该站点上,而是从该站点链接,则搜索功能不会找到它。
作为另一技术,一些浏览器会搜索在先前访问的站点的历史缓存中标识的站点。如果用户与先前观看页面时处于相同的计算机、使用相同的浏览器,并且如果该页面还未被从历史缓存中清除出去,则此技术可能是成功的。但是,用户越来越具有移动性,并且可能使用多种计算机和浏览器,并且用户关心隐私,因而他们常常擦除历史缓存,因而此技术的用途是有限的。
由此,所需要的是用于找到从其他页面直接或间接地链接的页面的增强的技术。
发明内容
提供了一种方法、设备、系统和信号承载介质。接收包括主关键字和简档的请求,其中简档包括持久关键字。响应于该请求,找到包括与主关键字匹配的第一项目的根页面。向根页面的后代页面搜索匹配持久关键字的第二项目。该搜索确定后代页面位于源自根页面的多个路径上的多个层、以及这些层位于从根页面起的一定深度内。找到作为根页面的后代且包括匹配持久关键字的第二项目的后代页面。将指向根页面的根链接和指向后代页面的后代链接发送给请求方。如果提交主关键字的次数大于阈值数,则将主关键字添加到持久关键字。以此方式,在实施例中,使得能够进行持久搜索,其允许用户找到在源自根页面的路径上链接的页面,其包括用户具有持久兴趣的持久关键字。
附图说明
下文中结合附图描述本发明的各种实施例:
图1绘出了用于实现本发明的实施例的示例系统的高级框图。
图2绘出了根据本发明的实施例的示例页面的框图。
图3绘出了根据本发明的实施例、用于存储简档数据的示例用户界面的框图。
图4绘出了根据本发明的实施例、用于搜索的示例用户界面的框图。
图5绘出了根据本发明的实施例、用于检索页面的示例用户界面的框图。
图6绘出了根据本发明的实施例、用于索引的示例数据结构的框图。
图7绘出了根据本发明的实施例、用于搜索器(crawler)的示例处理的流程图。
图8绘出了根据本发明的实施例、用于利用简档来搜索根页面的后代页面的示例处理的流程图,其中经由链接找到该根页面。
图9绘出了根据本发明的实施例、用于利用简档来搜索根页面的后代页面的示例处理的流程图,其中通过搜索找到该根页面。
图10绘出了根据本发明的实施例、用于利用简档来搜索页面的示例处理的流程图。
图11绘出了根据本发明的实施例、用于利用简档来搜索后代页面的示例处理的流程图。
然而,应注意,附图仅仅例示了本发明的示例实施例,因而不看作是其范围的限制,本发明可容纳其他等同的有效实施例。
具体实施方式
参照附图,其中在几个图中,相同的附图标记指示相同的部分,根据本发明的实施例,图1绘出了经由网络130连接到服务器计算机系统132和135的客户机计算机系统100的高级框图表示。这里,术语“客户机”和“服务器”的使用仅仅为了便利,并且在各种实施例中,在一个环境中操作为客户机的计算机可以在另一环境中操作为服务器,反之亦然。在一个实施例中,可通过可从纽约阿芒克的国际商业机器公司获得的IBM System i5计算机系统来实现计算机系统100、132和135的硬件组件。但是,本领域技术人员会理解,本发明的实施例的机制和设备可等同地应用于任何合适的计算系统。
计算机系统100的主要组件包括一个或多个处理器101、主存储器102、终端接口111、存储接口112、I/O(输入/输出)装置接口113、以及通信/网络接口114,所有这些经由存储器总线103、I/O总线104和I/O总线接口单元105而耦连,以进行内部组件通信。
计算机系统100包含一个或多个通用可编程中央处理单元(CPU)101A、101B、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中,但在其他实施例中,它们中的一些或全部可以在不同的计算机系统上,并且例如,可经由网络130而被远程地访问。计算机系统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提供数据通信路径,用于在处理器101、主存储器102、以及I/O总线接口单元105之间传递数据。I/O总线接口单元105还被耦连到系统I/O总线,以向和从各种I/O单元传递数据。I/O总线接口单元105通过系统I/O总线104,与还被称为I/O处理器(IOP)或I/O适配器(IOA)的多个I/O接口单元111、112、113和114进行通信。例如,系统I/O总线104可为工业标准PCI(外围组件接口)总线、或任何其他适合的总线技术。
I/O接口单元支持与多种存储装置和I/O装置进行通信。例如,终端接口单元111支持附连一个或多个用户终端121,其可包括用户输出装置(如视频显示装置或扬声器)以及用户输入装置(如键盘、鼠标、或其他定点装置)。存储接口单元112支持附连一个或多个直接存取存储装置(DASD)125、126和127(典型地,其是旋转式磁盘驱动器存储装置,但是,可替换地,它们可以是其他装置,包括被配置为对主机呈现为单个大存储装置的盘驱动器的阵列)。根据需要,主存储器102的内容可被存储到直接存取存储装置125、126和127和从直接存取存储装置125、126和127检索。
I/O装置接口113向任何各种其他输入/输出装置、或诸如打印机或传真机之类的其他类型的装置提供接口。网络接口114提供从计算机系统100到其他数字装置和计算机系统132和135的一个或多个通信路径;例如,这样的路径可包括一个或多个网络130。
尽管在图1中将存储器总线103示出为在处理器101、主存储器102和I/O总线接口105之间提供直接通信路径的、相对简单的单个总线结构,但事实上,存储器总线103可包括多个不同的总线或通信路径,其可被布置为任何不同的形式,如按照分级、星状或网状配置的点对点链路、多级总线、并行和冗余路径、或任何其他合适类型的配置。另外,尽管I/O总线接口105和I/O总线104被示出为单个分立单元,但计算机系统100事实上可包含多个I/O总线接口单元105和/或多个I/O总线104。尽管示出了将系统I/O总线104与到达各种I/O装置的各种通信路径分离的多个I/O接口单元,但在其他实施例中,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、图10和图11进一步描述的功能。在另一实施例中,可以以微码来实现搜索器194和/或搜索引擎190。在另一实施例中,可经由逻辑门和/或其他合适的硬件技术来以硬件实现搜索器194和/或搜索引擎190。
服务器计算机系统135可包括先前所述的、被包括在计算机系统100中的硬件组件中的一些或全部。服务器计算机系统135包括在具有与主存储器102相似的描述的存储器中存储的页面138。页面138可包括能够经由搜索器194搜寻到、以及经由应用150检索到的任何合适的内容,如文本、视频、音频、图像、控制标记(tag)、格式化标记、语句、或任何其他合适的数据。在各种实施例中,可经由文档、文件、对象、表、数据库、目录、子目录、或它们的任何部分或组合来实现页面138,并且,在一些实施例中,除了数据之外,页面138还可包括嵌入式控制标记、语句或逻辑。下面参照图2进一步描述页面138的例子。
应理解,图1意图绘出高级别的客户机计算机系统100、网络130、服务器计算机系统132以及服务器计算机系统135的代表性的主要组件,各个组件可具有比图1所示更大的复杂度,还可存在替代或除了图1中示出的组件之外的组件,并且,这样的组件的数目、类型和配置可变化。在此公开了这样的其他复杂度或其他变型的几个具体示例;应理解,这些仅仅是通过示例方式而不一定仅仅是这样的变型。
图1所示的、实现本发明的各种实施例的各种软件组件可以用多种方式来实现,包括使用各种计算机软件应用、例程、组件、程序、对象、模块、数据结构等,在下文将其称为“计算机程序”或简称为“程序”。典型地,计算机程序包括一个或多个指令,所述指令在不同的时间驻留在客户机计算机系统100和/或服务器计算机系统132中的各个存储器和存储装置中,并且,所述指令当被客户机计算机系统100和/或服务器计算机系统132中的一个或多个处理器读取并执行时,使客户机计算机系统100和/或服务器计算机系统132执行必要步骤,以执行包括本发明的各个方面的步骤或元素。
此外,尽管本发明的实施例已经或将在下文中以全功能的计算机系统的环境来描述,但本发明的各种实施例能够被分发为多种形式的程序产品,并且本发明等同地应用,而不考虑用于实际进行分发的信号承载介质的具体类型。定义此实施例的功能的程序可经由可操作性地或通信性地连接(直接或间接)到处理器(如处理器101和180)的多个有形信号承载介质而传输到客户机计算机系统100和/或服务器计算机系统132。信号承载介质可包括但不限于:
(1)在不可重写存储介质(例如,附连到或在计算机系统内部的只读存储器件,如可由CD-ROM驱动器读取的CD-ROM)上永久性存储的信息;
(2)在例如硬盘驱动器(例如DASD 125、126或127)、主存储器102或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)的集合T1、...Tm,并且,这些集合中的每一个依次是一个树。
树T1、...Tm被称为根的子树。由此,树中的每个节点是整个树中包含的一些子树的根。节点的子树的数目被称为该节点的度(degree)。度为0的节点被称为末节点(terminal node)或叶。非末节点被称为分支节点。通过假定根具有层0来定义关于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-1和210-2。页面138-2、138-3和138-4分别包括项目250-1、250-2和250-3。任何、一些或全部页面也可包括附加项目。
页面138的图包括示例路径205,其是页面138-1、从页面138-1到页面138-4的嵌入孩子链接、页面138-4、从页面138-4到页面138-8的嵌入孩子链接、页面138-8、从页面138-8到页面138-10的嵌入孩子链接、以及页面138-10的序列。路径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向书签列表添加搜索引擎190找到的、包含与持久搜索关键字310相匹配的项目的后代页面。
创建持久关键字选项325-6指示应用150向简档152中的持久搜索关键字310中添加用户已指定的次数(经由图4的搜索界面)超过阈值325-7次数的那些主搜索关键字。以此方式,即使未明确地通过简档用户界面300来指定,用户频繁搜索(超过阈值325-7次数)的主搜索关键字也会变为持久搜索关键字310。
图4绘出了根据本发明的实施例的示例搜索界面400的框图。应用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-10的路径,于是,应用150高亮显示或彩色显示根链接425-3。如图2所示,因为根链接425-3指向页面138-4,其中页面138-4包括指向页面138-8的嵌入链接,页面138-8包括指向页面138-10的嵌入链接,所以,根链接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,则响应于链接地址515的人工用户输入,应用150检索链接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包括指向页面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的相对权重640。
页面外流行度准则使用在页面本身的外部的数据。页面外流行度准则的一个例子是链接分析,其中搜索器194分析页面如何彼此链接,已确定页面相对于其他页面的相对重要性。例如,搜索器194可向具有许多传入链接650的页面(许多其他页面链接到的页面,这是因为,这样的页面很可能是重要的页面)分配较高的页面流行度625。此外,搜索器194可使用递归页面流行度,其中链接到被链接页面的页面的页面流行度625也是被链接页面的流行度的因素。页面流行度625是数值,其表示页面与索引192中描述的所有其他页面相比有多么重要。页面流行度625基于如下思想:当一个页面链接到另一页面时,其有效地对其他页面投票。页面得到的投票越多,则该页面越重要。而且,在一个实施例中,被投票的页面的重要性确定投票本身有多么重要。
然后,控制继续到块799,其中图7的逻辑返回。
图8和图9绘出了使用简档152来搜索根页面的后代页面的示例处理的流程图。在图8中,经由链接来检索根页面。在图9中,通过搜索来找到根页面,并且,根页面包括与主搜索关键字相匹配的项目。
在图8中,控制在块800开始。然后,控制继续到块805,其中应用150在终端121上呈现或显示简档用户界面300,从简档用户界面300接收输入数据,并且将输入数据保存到由简档名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命名的简档152中指定了根页面准则320-4,则应用150确定所接收的链接是否是从输入区域515中人工输入的地址接收的。
如果块820处的确定为真,则简档152已被接收到、或者对于根页面的检索来说是激活的且包含有效数据,并且,该链接满足在由简档名520命名的简档152中指定的简档根准则320,则控制继续到块825,其中应用150向搜索引擎190发送具有简档152和指向根页面的链接的搜索请求。在另一实施例中,应用150向搜索引擎190发送从简档152选择的数据(如持久搜索关键字310和深度315)、以及指向根页面的链接。搜索请求指示搜索引擎190针对与持久搜索关键字310相匹配的项目来搜索(由该链接指向的)根页面的后代页面,其中该后代页面是根页面的后代,且存在于源自根页面的路径的层上,并且其中,所述层在深度315内、直到深度315、或者小于或等于深度315。
然后,控制继续到块830,其中搜索引擎190接收具有简档152和到根页面的链接的搜索请求。如后面参照图11进一步详细描述的,响应于该请求,搜索引擎190执行搜索,并将后代结果页面156发送给应用150。
然后,控制继续到块835,其中应用150从服务器接收根页面(如先前在上面所述的,先前在块815请求的),并且经由终端121渲染(格式化)和显示该根页面(例如,如图5所示的根页面138-1)。然后,控制继续到块840,其中应用150从搜索引擎190接收后代结果页面156。然后,控制继续到块845,其中应用150确定在简档152中指定的选项325,并且执行由选项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的搜索请求。如后面参照图10进一步详细描述的,响应于该请求,搜索引擎190执行搜索,并将后代结果页面156发送给应用150。
然后,控制继续到块925,其中,如先前在上面通过参照图4而描述的,应用150从搜索引擎190接收搜索结果页面158,并且经由终端121渲染(格式化)和显示搜索结果页面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,并且,响应于选择该标签405,应用150显示包括指向搜索引擎190找到的、包含与持久搜索关键字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的路径。链接通过指向路径中的页面而指向该路径。
如果应用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,或者未接收到针对搜索请求的简档,因此控制返回到块945,其中应用150向搜索引擎190发送具有主搜索关键字415的搜索请求。然后,控制继续到块950,其中如下面进一步参照图10所述的,搜索引擎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相匹配的项目。然后,控制返回到块1010,其中如先前所述,搜索引擎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,其中搜索引擎190确定当前层上的、包含与持久搜索关键字310相匹配的项目635的所有后代页面是否在源自根页面的、成为循环的路径上。
如果块1125处的确定为真,则当前层上的、包含与持久搜索关键字310相匹配的项目635的所有后代页面都在源自根页面的、成为循环的路径上,于是控制继续到块1130,其中搜索引擎190将当前层增加1。然后,控制继续到块1135,其中搜索引擎190确定当前层是否大于深度315(远离根页面的、搜索引擎190要搜索的最大层)。
如果块1135处的确定是真,则当前层大于深度315,于是远离根页面的、深度315内的所有层已经被图11的逻辑搜索过。由此,不需要搜索更多页面,并且搜索引擎190停止搜索页面。
然后,控制继续到块1140,其中搜索引擎190将后代结果页面156发送给应用150。然后,控制继续到块1199,其中图11的逻辑返回。
如果块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,其中如前所述,搜索引擎190将当前层递增到下一层。
尽管上面已将本发明的实施例的各种功能描述为由服务器计算机系统132处的搜索引擎190以及由客户机计算机系统100处的应用150来实现,但在其他实施例中,被描述为在应用150中实现的本发明的功能可在搜索引擎190中实现,并且,反之亦然。由此,在各种实施例中,请求方(提供到根页面的链接、请求搜索、并提供主和持久搜索关键字和其他数据)可以是选择界面元素、输入数据和观看用户界面300、400或500的用户,或者,请求方可以是发送数据到搜索引擎190的应用150。
在本发明的示例实施例的先前的具体描述中,参照了形成本发明一部分的附图(其中相同的附图标记表示相同的元素),并且附图中通过例示的方式示出了实践本发明的特定示例实施例。足够详细地描述了这些实施例,以使得本领域技术人员能够实践本发明,但是可采用其他实施例,并且可进行逻辑、机械、电学和其他的改变,而不会脱离本发明的范围。在先前的描述中,阐述了多个特定细节以提供本发明的实施例的完整的理解。但是,没有这些特定细节也可以实践本发明。在其他实例中,为了不混淆本发明,未示出公知电路、结构和技术。
在此说明书中使用的词语“实施例”的不同实例不必指示相同的实施例,但它们可以。在此示出或描述的任何数据和数据结构仅仅是示例,并且在其他实施例中,可使用不同的数据数量、数据类型、字段、字段数目和类型、字段名、行的数目和类型、记录、条目或数据组织。此外,任何数据可与逻辑相组合,从而分离的数据结构不是必要的。因而,先前的详细说明不应当作限制意义的,并且仅仅由所附权利要求限定本发明的范围。
Claims (15)
1.一种方法,包括:
从请求方接收请求,其中所述请求包括主关键字和简档,其中所述简档包括至少一个持久关键字;
响应于该请求,找到根页面,其中所述根页面包括匹配所述主关键字的第一项目;
响应于该请求,找到第一后代页面;以及
确定所述第一后代页面是所述根页面的后代,以及所述第一后代页面包括匹配所述持久关键字的第二项目。
2.如权利要求1所述的方法,还包括:
向所述请求方发送根链接和后代链接,其中所述根链接指向所述根页面,并且所述后代链接指向所述第一后代页面。
3.如权利要求1所述的方法,还包括:
向所述根页面的多个后代页面搜索匹配所述持久关键字的第二项目,其中,所述搜索还包括:确定所述多个后代页面位于源自所述根页面的多个路径上的多个层,以及确定所述层在距离根页面的一个深度内,其中所述简档还包括所述深度。
4.如权利要求1所述的方法,还包括:
响应于找到所述第一后代页面,向所述请求方发送指向所述第一后代页面的后代链接。
5.如权利要求1所述的方法,还包括:
对已从请求方接收到所述主关键字的次数进行计数;以及
如果所述次数大于阈值数,则将所述主关键字添加到所述简档中的至少一个持久关键字。
6.如权利要求2所述的方法,还包括:
显示所述根链接;
显示标签;以及
响应于所述标签的选择,经由所述后代链接而检索所述第一后代页面。
7.如权利要求1所述的方法,还包括:
将所述后代链接添加到书签。
8.一种通过指令编码的信号承载介质,其中所述指令在被执行时包括前述权利要求所述的任一方法的步骤。
9.一种计算机系统,包括:
处理器;以及
连接到所述处理器的存储器,其中该存储器对指令进行编码,所述指令在被所述处理器执行时包括:
从请求方接收请求,其中所述请求包括主关键字和简档,其中所述简档包括至少一个持久关键字;
响应于该请求,找到多个根页面,其中所述多个根页面包括匹配所述主关键字的第一项目;
响应于该请求,搜索作为所述多个根页面的后代的多个后代页面;
以及
确定所述多个后代页面之中的第一后代页面包括匹配所述持久关键字的第二项目。
10.如权利要求9所述的计算机系统,其中所述指令还包括:
向所述请求方发送指向所述多个根页面的多个根链接;以及
向请求方发送指向所述第一后代页面的第一后代链接。
11.如权利要求9所述的计算机系统,其中所述确定还包括:
确定所述多个后代页面位于源自根页面的多个路径上的多个层,以及确定所述层在距离根页面的一个深度内,其中所述简档还包括所述深度。
12.如权利要求9所述的计算机系统,其中所述指令还包括:
对已从请求方接收到所述主关键字的次数进行计数;以及
如果所述次数大于阈值数,则将所述主关键字添加到所述简档中的至少一个持久关键字。
13.如权利要求10所述的计算机系统,其中所述指令还包括:
显示所述多个根链接;
显示标签;以及
响应于所述标签的选择,经由所述第一后代链接而检索所述第一后代页面。
14.如权利要求10所述的计算机系统,其中所述指令还包括:
显示所述多个根链接;以及
彩色显示指向包括所述第一后代页面的路径的根链接。
15.如权利要求11所述的计算机系统,其中所述指令还包括:确定包括所述第一后代页面的路径不是循环。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/609,698 | 2006-12-12 | ||
US11/609,698 US7836039B2 (en) | 2006-12-12 | 2006-12-12 | Searching descendant pages for persistent keywords |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101201843A true CN101201843A (zh) | 2008-06-18 |
CN101201843B CN101201843B (zh) | 2012-05-09 |
Family
ID=39499459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101816021A Expired - Fee Related CN101201843B (zh) | 2006-12-12 | 2007-10-19 | 用于搜索的方法和计算机系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7836039B2 (zh) |
CN (1) | CN101201843B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727958A (zh) * | 2009-10-21 | 2010-06-09 | 华为终端有限公司 | 获取播放文件的方法及播放器 |
CN109740061A (zh) * | 2019-01-03 | 2019-05-10 | 北京奇艺世纪科技有限公司 | 一种基于用户浏览行为的信息流数据动态加载方法及装置 |
CN111831907A (zh) * | 2020-06-23 | 2020-10-27 | 珠海复旦创新研究院 | 基于区块链的搜索公平排序方法、装置及介质 |
CN112882780A (zh) * | 2021-02-05 | 2021-06-01 | Vidaa美国公司 | 设置页面显示方法及显示设备 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070288256A1 (en) * | 2006-06-07 | 2007-12-13 | Speier Gary J | Patent claim reference generation |
US8280877B2 (en) * | 2007-02-22 | 2012-10-02 | Microsoft Corporation | Diverse topic phrase extraction |
KR101404747B1 (ko) * | 2007-11-16 | 2014-06-12 | 엘지전자 주식회사 | 이동 단말기의 스케쥴 관리 장치 및 방법 |
JP2009302884A (ja) * | 2008-06-13 | 2009-12-24 | Sony Corp | 情報処理装置、情報処理方法、およびプログラム |
US11048765B1 (en) | 2008-06-25 | 2021-06-29 | Richard Paiz | Search engine optimizer |
US9391825B1 (en) | 2009-03-24 | 2016-07-12 | Amazon Technologies, Inc. | System and method for tracking service results |
US20110258054A1 (en) * | 2010-04-19 | 2011-10-20 | Sandeep Pandey | Automatic Generation of Bid Phrases for Online Advertising |
US11379473B1 (en) * | 2010-04-21 | 2022-07-05 | Richard Paiz | Site rank codex search patterns |
US11423018B1 (en) * | 2010-04-21 | 2022-08-23 | Richard Paiz | Multivariate analysis replica intelligent ambience evolving system |
US8862612B2 (en) * | 2011-02-11 | 2014-10-14 | Sony Corporation | Direct search launch on a second display |
US8943169B2 (en) * | 2011-02-11 | 2015-01-27 | Sony Corporation | Device affiliation process from second display |
US8798995B1 (en) * | 2011-09-23 | 2014-08-05 | Amazon Technologies, Inc. | Key word determinations from voice data |
US8949216B2 (en) | 2012-12-07 | 2015-02-03 | International Business Machines Corporation | Determining characteristic parameters for web pages |
US11741090B1 (en) | 2013-02-26 | 2023-08-29 | Richard Paiz | Site rank codex search patterns |
US11809506B1 (en) * | 2013-02-26 | 2023-11-07 | Richard Paiz | Multivariant analyzing replicating intelligent ambience evolving system |
US10108525B2 (en) * | 2013-06-14 | 2018-10-23 | International Business Machines Corporation | Optimizing automated interactions with web applications |
US10643258B2 (en) * | 2014-12-24 | 2020-05-05 | Keep Holdings, Inc. | Determining commerce entity pricing and availability based on stylistic heuristics |
US10845950B2 (en) * | 2015-12-17 | 2020-11-24 | Microsoft Technology Licensing, Llc | Web browser extension |
US20190026295A1 (en) * | 2017-07-19 | 2019-01-24 | Nutanix, Inc. | System and method for obtaining application insights through search |
US10606914B2 (en) * | 2017-10-25 | 2020-03-31 | International Business Machines Corporation | Apparatus for webpage scoring |
US11023472B2 (en) | 2018-02-27 | 2021-06-01 | Nutanix, Inc. | System and method for troubleshooting in a virtual computing system |
US10554701B1 (en) | 2018-04-09 | 2020-02-04 | Amazon Technologies, Inc. | Real-time call tracing in a service-oriented system |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038561A (en) * | 1996-10-15 | 2000-03-14 | Manning & Napier Information Services | Management and analysis of document information text |
US5987482A (en) * | 1997-09-08 | 1999-11-16 | International Business Machines Corporation | Computer system and method of displaying hypertext documents with internal hypertext link definitions |
US6122647A (en) * | 1998-05-19 | 2000-09-19 | Perspecta, Inc. | Dynamic generation of contextual links in hypertext documents |
US6490577B1 (en) * | 1999-04-01 | 2002-12-03 | Polyvista, Inc. | Search engine with user activity memory |
US6819339B1 (en) * | 2000-02-24 | 2004-11-16 | Eric Morgan Dowling | Web browser with multilevel functions |
US6438539B1 (en) * | 2000-02-25 | 2002-08-20 | Agents-4All.Com, Inc. | Method for retrieving data from an information network through linking search criteria to search strategy |
US20020078014A1 (en) * | 2000-05-31 | 2002-06-20 | David Pallmann | Network crawling with lateral link handling |
JP2002222210A (ja) * | 2001-01-25 | 2002-08-09 | Hitachi Ltd | 文書検索システム、文書検索方法及び検索サーバ |
US6910071B2 (en) * | 2001-04-02 | 2005-06-21 | The Aerospace Corporation | Surveillance monitoring and automated reporting method for detecting data changes |
CA2354993C (en) * | 2001-08-10 | 2010-11-09 | Ibm Canada Limited-Ibm Canada Limitee | Method of indicating links to external urls |
JP4761460B2 (ja) * | 2006-05-01 | 2011-08-31 | コニカミノルタビジネステクノロジーズ株式会社 | 検索装置による情報検索方法、情報検索装置及び情報検索処理プログラム |
US8055993B2 (en) * | 2006-11-09 | 2011-11-08 | International Business Machines Corporation | Selecting and displaying descendant pages |
-
2006
- 2006-12-12 US US11/609,698 patent/US7836039B2/en not_active Expired - Fee Related
-
2007
- 2007-10-19 CN CN2007101816021A patent/CN101201843B/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727958A (zh) * | 2009-10-21 | 2010-06-09 | 华为终端有限公司 | 获取播放文件的方法及播放器 |
CN109740061A (zh) * | 2019-01-03 | 2019-05-10 | 北京奇艺世纪科技有限公司 | 一种基于用户浏览行为的信息流数据动态加载方法及装置 |
CN109740061B (zh) * | 2019-01-03 | 2021-03-19 | 北京奇艺世纪科技有限公司 | 一种基于用户浏览行为的信息流数据动态加载方法及装置 |
CN111831907A (zh) * | 2020-06-23 | 2020-10-27 | 珠海复旦创新研究院 | 基于区块链的搜索公平排序方法、装置及介质 |
CN112882780A (zh) * | 2021-02-05 | 2021-06-01 | Vidaa美国公司 | 设置页面显示方法及显示设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101201843B (zh) | 2012-05-09 |
US7836039B2 (en) | 2010-11-16 |
US20080140606A1 (en) | 2008-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101201843B (zh) | 用于搜索的方法和计算机系统 | |
JP6448606B2 (ja) | 検索エンジンの結果ページ内に目的別アプリケーションを提供する装置、方法、プログラム、及びシステム | |
TWI463337B (zh) | 用於實施於跨多搜尋引擎之結盟搜尋之方法及系統 | |
KR101298334B1 (ko) | 검색 결과에 컬렉션 아이템을 포함시키기 위한 기술 | |
CN103235776B (zh) | 呈现搜索结果信息 | |
US8005832B2 (en) | Search document generation and use to provide recommendations | |
CN1648902B (zh) | 统一和混合搜索的系统和方法 | |
CN100511224C (zh) | 用于改进文档检索的内容传播的方法和计算设备 | |
US7650342B2 (en) | User profile management system | |
US8745039B2 (en) | Method and system for user guided search navigation | |
CN1934569B (zh) | 集成有用户注释的搜索系统和方法 | |
US20090307205A1 (en) | Friendly search and socially augmented search query assistance layer | |
US20150186540A1 (en) | Method for inputting and processing feature word of file content | |
KR20100094021A (ko) | 이동통신 단말기와 아이피 기반 정보 단말기를 이용한 맞춤, 지능형 심볼, 아이콘 인터넷 정보 검색시스템 | |
WO2009086237A1 (en) | System and method for generating expertise base search results | |
JP2008071259A (ja) | ブックマーク・タグ設定装置 | |
JP5034279B2 (ja) | 属性推定プログラムおよび属性情報提供システム | |
US7917520B2 (en) | Pre-cognitive delivery of in-context related information | |
US9135328B2 (en) | Ranking documents through contextual shortcuts | |
JP5284064B2 (ja) | 商品idサーバ装置、および商品idサーバ装置の制御方法 | |
CN101681370A (zh) | 组合的个人及社区列表 | |
Markines et al. | Bookmark hierarchies and collaborative recommendation | |
US20090172510A1 (en) | Method of Creating Graph Structure From Time-Series of Attention Data | |
KR101180371B1 (ko) | 폭소노미 기반 개인화 웹 검색 방법 및 이를 수행하는 시스템 | |
KR101485593B1 (ko) | 검색결과 처리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120509 Termination date: 20181019 |