个性化搜索标引的方法转让专利

申请号 : CN200780026385.7

文献号 : CN101490679B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : D·J·博里洛R·K·克拉迪克Z·A·伽褒

申请人 : 国际商业机器公司

摘要 :

一种客户端搜索标引程序透明地并且结合基于服务器的搜索索引而工作。组合搜索索引提供了针对每个个人用户的兴趣所定制的更加精确并且最新的Web图像。客户端索引器将特定Web页面的标引定制为用户的偏好和使用模式。首先,用户在客户端安装和配置客户端索引器。在搜索期间,对于被请求的索引进行自动刷新并且与主服务器端索引结合。当用户执行搜索时,客户端索引可以与主服务器端索引组合。所组合的索引为特定用户提供精确的搜索结果。

权利要求 :

1.一种个性化搜索标引的方法,包括:

加载配置选项的组,其中所述配置选项与用于客户端标引的用户偏好相关;

基于所述配置选项的组识别要标引的内容的一部分;

基于所述配置选项的组在客户端索引器对所述内容的一部分进行标引以形成客户端搜索索引,其中针对与所述客户端索引器相关的用户对所述客户端搜索索引进行个性化;

以及

使用所述客户端搜索索引以及与搜索引擎相关的服务器端搜索索引的组合基于搜索查询执行搜索。

2.如权利要求1的方法,其中所述搜索引擎将所述客户端搜索索引与所述服务器端搜索索引组合以形成组合的搜索索引,以及通过使用所述组合的搜索索引执行搜索以满足所述搜索请求。

3.如权利要求1的方法,其中所述搜索引擎通过使用所述服务器端搜索索引基于所述搜索查询执行搜索,并返回服务器搜索结果的组,以及客户端组件通过使用所述客户端搜索索引基于所述搜索查询执行搜索以生成客户端搜索结果的组,该方法还包括:响应于所述客户端搜索结果的组比所述服务器搜索结果的组更新,将所述客户端搜索结果的组结合到所述服务器搜索结果的组中,以形成组合的搜索结果的组。

4.如权利要求1的方法,其中对所述内容的一部分进行标引的步骤包括:从对等点接收客户端索引;以及

将来自所述对等点的客户端索引与所述客户端搜索索引组合。

5.如权利要求1的方法,其中所述配置选项的组包括以下内容的至少一个,即:标引时间表,所述客户端索引器根据所述标引时间表对所述内容的一部分进行标引;和标引算法,所述客户端索引器根据所述标引算法对所述内容的一部分进行标引。

6.如权利要求1的方法,其中所述配置选项的组包括以下内容的至少一个,即:包括列表和排除列表。

7.一种个性化搜索标引的设备,包括:

装置,用于加载配置选项的组,其中所述配置选项与用于客户端标引的用户偏好相关;

装置,用于基于所述配置选项的组识别要标引的内容的一部分;

装置,用于基于所述配置选项的组在客户端索引器对所述内容的一部分进行标引以形成客户端搜索索引,其中针对与所述客户端索引器相关的用户对所述客户端搜索索引进行个性化;以及装置,用于使用所述客户端搜索索引以及与搜索引擎相关的服务器端搜索索引的组合基于搜索查询执行搜索。

8.如权利要求7的设备,其中所述搜索引擎包括:装置,用于将所述客户端搜索索引与所述服务器端搜索索引以形成组合的搜索索引,以及装置,用于使用所述组合的搜索索引执行搜索以满足所述搜索请求。

9.如权利要求7的设备,其中所述搜索引擎包括:装置,用于通过使用所述服务器端搜索索引基于所述搜索查询执行搜索,和装置,用于返回服务器搜索结果的组,以及客户端组件包括:装置,用于通过使用所述客户端搜索索引基于所述搜索查询执行搜索以生成客户端搜索结果的组,该设备还包括:装置,用于响应于所述客户端搜索结果的组比所述服务器搜索结果的组更新,将所述客户端搜索结果的组结合到所述服务器搜索结果的组中,以形成组合的搜索结果的组。

10.如权利要求7的设备,其中对所述内容的一部分进行标引的装置还包括:装置,用于从对等点接收客户端索引;以及

装置,用于将来自所述对等点的客户端索引与所述客户端搜索索引组合。

11.如权利要求7的设备,其中所述配置选项的组包括以下内容的至少一个,即:标引时间表,所述客户端索引器包括:装置,用于根据所述标引时间表对所述内容的一部分进行标引;和标引算法,所述客户端索引器包括:装置,用于所述标引算法对所述内容的一部分进行标引。

12.如权利要求7的设备,其中所述配置选项的组包括以下内容的至少一个,即:包括列表和排除列表。

说明书 :

个性化搜索标引的方法

技术领域

[0001] 本发明涉及个性化搜索标引的方法。

背景技术

[0002] 互联网搜索引擎使用索引向用户显示搜索结果。向请求用户显示的结果仅是与搜索索引同一时期的或最新的。一些搜索引擎标引大约网页的三分之一,并且仅能够每30天刷新搜索索引。由于互联网的大小以及在万维网上的内容量不断增长,所以对于搜索引擎发现变化,确定这些变化多久发生,以及优先化要获取的变化逐渐变得困难。
[0003] 目前的一个解决方案是比别人更快地更新一些搜索索引。服务器标引软件代理优先化比别人更常更新的那些索引。尽管频繁更新的索引与大部分用户相关,但是仍旧给剩余用户留下过期的索引。

发明内容

[0004] 示例性实施例认识到现有技术的缺点,并提供一种客户端搜索标引程序,其透明地并且结合基于服务器的搜索索引而工作。组合搜索索引提供了针对每个个人用户的兴趣所定制的更加精确并且最新的Web图像。客户端索引器将特定Web页面的标引定制为用户的偏好和使用模式。
[0005] 首先,用户在客户端安装和配置客户端索引器。在搜索期间,对于被请求的索引进行自动刷新并且与主服务器端索引结合。当用户执行搜索时,客户端索引可以与主服务器端索引组合。所组合的索引为特定用户提供精确的搜索结果。这允许用户使用用户最感兴趣的站点的频繁更新索引进行搜索,同时仍旧利用由大量Web的服务器保持的大型索引。
[0006] 在一个示例性实施例中,提供一种计算机程序产品,其包括具有计算机可读程序的计算机可用介质。计算机可读程序在计算设备上被执行时使得计算设备加载配置选项的组。配置选项定义用于客户端标引的用户偏好。计算机可读程序还使得计算设备基于所述配置选项的组识别要标引的内容的一部分,以及基于所述配置选项的组在客户端索引器对所述内容的一部分进行标引以形成客户端搜索索引。针对与所述客户端索引器相关的用户对所述客户端搜索索引进行个性化。计算机可读程序还使得计算设备使用所述客户端搜索索引以及与搜索引擎相关的服务器端搜索索引的组合基于搜索查询执行搜索。
[0007] 在一示例性实施例中,所述搜索引擎将所述客户端搜索索引与所述服务器端搜索索引组合以形成组合的搜索索引,以及通过使用所述组合的搜索索引执行搜索以满足所述搜索请求。
[0008] 在另一示例性实施例中,所述搜索引擎通过使用所述服务器端搜索索引基于所述搜索查询执行搜索,并返回服务器搜索结果的组。客户端组件通过使用所述客户端搜索索引基于所述搜索查询执行搜索以生成客户端搜索结果的组。计算机可读程序还使得计算设备响应于所述客户端搜索结果的组比所述服务器搜索结果的组更新,将所述客户端搜索结果的组结合到所述服务器搜索结果中,以形成组合的搜索结果的组。
[0009] 在另一示例性实施例中,计算机设备通过以下方式识别要标引的内容的一部分,即:识别先前搜索结果的组、识别最多访问的Web站点的组、识别书签或收藏夹的组、识别标记的站点、或识别由具有相似兴趣的用户访问的站点的组。在另一示例性实施例中,计算机设备通过以下方式对所述内容的一部分进行标引,即:从对等点接收客户端索引;以及将来自所述对等点的客户端索引与所述客户端搜索索引组合。
[0010] 在示例性实施例中,所述配置选项的组包括标引时间表,以及客户端索引器根据标引时间表自动搜索内容的一部分。在另一示例性实施例中,所述配置选项的组包括:包括列表,其中内容的一部分始终包括来自包括列表的内容。在另一示例性实施例中,所述配置选项的组包括:排除列表,其中内容的一部分从不包括来自排除列表的内容。在另一示例性实施例中,所述配置选项的组包括标引算法,其中所述客户端索引器使用所述标引算法对所述内容的一部分进行标引。
[0011] 在另一示例性实施例中,提供一种设备,其包括处理器和与处理器耦合的存储器。存储器包含在被处理器执行时使得处理器加载配置选项的组的指令。配置选项定义用于客户端标引的用户偏好。所述指令还使得计算设备基于所述配置选项的组识别要标引的内容的一部分,以及基于所述配置选项的组在客户端索引器对所述内容的一部分进行标引以形成客户端搜索索引。针对与所述客户端索引器相关的用户对所述客户端搜索索引进行个性化。所述指令还使得计算设备使用所述客户端搜索索引以及与搜索引擎相关的服务器端搜索索引的组合基于搜索查询执行搜索。
[0012] 在另一示例性实施例中,存储器包含在被处理器执行时使得处理器执行与计算机可读程序相关的上述操作中的一个或多个。
[0013] 在另一示例性实施例中,提供一种个性化的、综合搜索标引的方法。该方法包括加载配置选项的组。配置选项定义用于客户端标引的用户偏好。该方法还包括基于所述配置选项的组识别要标引的内容的一部分;以及基于所述配置选项的组在客户端索引器对所述内容的一部分进行标引以形成客户端搜索索引。针对与所述客户端索引器相关的用户对所述客户端搜索索引进行个性化。该方法还包括使用所述客户端搜索索引以及与搜索引擎相关的服务器端搜索索引的组合基于搜索查询执行搜索。
[0014] 在另一示例性实施例中,该方法可包括与计算机可读程序相关的上述操作中的一个或多个。
[0015] 将在本发明示例性实施例的以下具体实施方式中描述本发明的这些和其它特征和优点,或者对于本领域普通技术人员来说考虑到在本发明示例性实施例的以下具体实施方式,本发明的这些和其它特征和优点将变得清楚。

附图说明

[0016] 当结合附图阅读时,通过参照示例性实施例的以下具体实施方式,本发明及其具体实施方式和其它优点将被最佳地理解,其中:
[0017] 图1示出可实现示例性实施例的各个方面的示例性分布式数据处理系统的图形表示;
[0018] 图2示出在其中可实现示例性实施例的各个方面的示例性数据处理系统的框图;
[0019] 图3是示出根据示例性实施例的综合标引系统的示图;
[0020] 图4是示出根据示例性实施例的搜索系统的示图;
[0021] 图5是示出根据示例性实施例的客户端索引器的操作的流程图;
[0022] 图6是根据示例性实施例的搜索引擎的操作的流程图;以及
[0023] 图7是示出根据示例性实施例的组合客户端和服务器端搜索的操作的流程图。

具体实施方式

[0024] 现在参照附图,特别地参照图1-2,提供了可实现本发明实施例的数据处理环境的示例性示图。可以理解,图1-2仅是示例性的,并没有确定或暗示对于可实现本发明各个方面和实施例的环境的限制。在不脱离本发明的精神和范围的情况下,可以对于所述的环境进行许多修改。
[0025] 现在参照附图,图1示出可实现示例性实施例的各个方面的示例性分布式数据处理系统的图形表示。分布式数据处理系统100可包括在其中可实现示例性实施例的计算机网络。分布式数据处理系统100包含至少一个网络102,它是用于在分布式数据处理系统100中连接在一起的各个设备和计算机之间提供通信链路的介质。网络102可包括连接,例如有线、无线通信链路、或光缆。
[0026] 在所示实例中,服务器122和服务器124连接至网络102,并分别提供对存储单元132和存储单元134的访问。此外,客户端110、112和114也连接至网络102。这些客户端
110、112和114可以是例如个人计算机、网络计算机等。在所示实例中,服务器122和124例如向客户端110、112和114提供如Web页面、多媒体内容和应用的数据。在所示实例中,客户端110、112和114是服务器122和124的客户端。
[0027] 分布式数据处理系统100可包括没有示出的附加服务器、客户端和其它设备。
[0028] 服务器126可提供用于客户端110、112和114的搜索引擎。客户端110、112和114可以向服务器126上的搜索引擎提交搜索请求,服务器126上的搜索引擎随后使用索引
136来生成结果页面。为了提供最新结果,服务器126访问服务器122和124,或更具体地访问存储器132和134中的内容以更新搜索索引136。
[0029] 由于服务器的数目和大量的可用内容持续增长,所以逐渐地难以使得搜索索引保持最新。结果,一些搜索索引比别人更加频繁地更新。服务器标引软件代理(或“机器人(bots)”)优先化比别人更常更新的那些索引。
[0030] 根据所示实施例,客户端搜索标引程序透明地并结合基于服务器的索引而工作。组合的搜索索引提供了针对每个个人用户的兴趣所定制的更加精确并且最新的Web图像。
客户端索引器将特定Web页面的标引定制为用户的偏好和使用模式。
[0031] 首先,用户在客户端(例如客户端110、112、114之一)安装和配置客户端索引器。在搜索期间,对于被请求的索引进行自动刷新并且与主服务器端索引结合。当用户执行搜索时,例如在客户端110的客户端索引可以与例如主服务器端索引136组合。所组合的索引为特定用户提供精确的搜索结果。然后,在服务器126的搜索引擎检查客户端索引和服务器端索引,并使用时间戳比较这些索引。搜索引擎使用具有更新的时间戳的索引。这允许用户使用用户最感兴趣的站点的频繁更新索引进行搜索,同时仍旧利用由大量Web的服务器保持的大型索引。
[0032] 在所示实例中,分布式数据处理系统100是具有网络102的互联网,其表示使用传输控制协议/互联网协议(TCP/IP)协议集彼此通信的网络和网关的世界范围的集合。在互联网的中心是主节点或主计算机之间的高速数据通信线路的骨干,包括对数据和消息进行路由的成千上万个商业、政府、教育和其它计算机系统。当然,分布式数据处理系统100还可以实现为包括多个不同类型网络,例如内联网、局域网(LAN)、广域网(WAN)等。如上所述,图1用作实例,并非用作本发明不同实施例的结构限制,因此,图1中所示的特定元素不应该理解为对于可实现本发明示例性实施例的环境的限制。
[0033] 现在参照图2,示出在其中可实现示例性实施例的各个方面的示例性数据处理系统的框图。数据处理系统200是在其中可设置有实现本发明示例性实施例的处理的计算机可用代码或指令的计算机的实例,例如图1中的主机110。
[0034] 在所示实例中,数据处理系统200采用集线器架构,包括北桥芯片和存储控制器中心(NB/MCH)202以及南桥芯片和输入/输出(I/O)控制器中心(SB/ICH)204。处理单元206、主存储器208和图形处理器210连接至NB/MCH 202。图形处理器210可通过加速图形端口(AGP)连接至NB/MCH 202。
[0035] 在所示实例中,局域网(LAN)适配器212连接至SB/ICH 204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、硬盘驱动器(HDD)226、CD-ROM驱动器230、通用串行总线(USB)端口和其它通信端口232和PCI/PCIe设备234通过总线238和240连接至SB/ICH 204。PCI/PCIe设备可包括例如以太网适配器、插入卡、和用于笔记本计算机的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM224可以是例如闪速二进制输入/输出系统(BIOS)。
[0036] HDD 226和CD-ROM驱动器230通过总线240连接至SB/ICH 204。HDD 226和CD-ROM驱动器230可以使用例如电子集成驱动器(IDE)或串行高级技术附加装置(SATA)接口。超级I/O(SIO)设备236可连接至SB/ICH 204。
[0037] 操作系统运行在处理单元206上。操作系统协调和提供在图2中的数据处理系统200中的各个组件的控制。作为客户端,操作系统可以是商业可用的操作系统,例如XP(Microsoft和Windows是微软公司在美国、其它国家或两者TM
中的商标)。面向对象编程系统(例如Java 编程系统)可结合操作系统运行,并提供从数TM
据处理系统200上执行的Java 编程或应用对操作系统的调用(Java是Sun Microsystems公司在美国、其它国家或两者中的商标)。
[0038] 作为服务器,数据处理系统200可以是例如运行高级交互执行体( )操作TM系统或 操作系统的 eServer 计算机系统(eServer,pSeries
和AIX是国际商业机器公司在美国、其它国家或两者中的商标,而LINUX是Linus Torvalds在美国、其它国家或两者中的商标)。数据处理系统200可以是在处理单元206中包括多个处理器的对称多处理器(SMP)系统。或者,可采用单处理器系统。
[0039] 将用于操作系统、面向对象编程系统和应用或程序的指令设置在存储设备(例如HDD 226)上,并且可加载到主存储器208中,用于处理单元206执行。通过处理单元206使用计算机可用程序代码执行对于示例性实施例的处理,所述计算机可用程序代码可设置在例如主存储器208、ROM224或一个或多个外围设备226和230中。
[0040] 总线系统(例如图2中所示的总线238或总线240)可包括一个或多个总线。当然,可使用任意类型的通信结构或架构来实现总线系统,其中所述通信结构或架构提供在与结构或架构连接的不同组件或设备之间的数据传输。通信单元(例如图2中所示的调制解调器222或网络适配器212)可包括用于发送和接收数据的一个或多个设备。存储器可以是例如在图2中的NB/MCH 202中找到的主存储器208、ROM 224、或高速缓存。
[0041] 本领域普通技术人员可以理解,在图1-2中的硬件可以根据实施方式而改变。除了或代替图1-2中所示的硬件,可以使用其它内部硬件或外围设备,例如闪存、等同非易失性存储器或光盘驱动器等。此外,在不脱离本发明的精神和范围的情况下,除了先前所述的SMP系统之外,可对多处理器数据处理系统采用示例性实施例的处理。
[0042] 此外,数据处理系统200可采用多个不同数据处理系统中的任一形式,包括客户端计算设备、服务器计算设备、平板计算机、便携式计算机、电话或其它通信设备、个人数字助理(PDA)等。在一些示例性实例中,数据处理系统200可以是便携式计算设备,其配置有闪存以提供非易失性存储器,用于存储例如操作系统文件和/或用户生成数据。实质上,数据处理系统200可以是不受结构限制的任意已知或以后开发的数据处理系统。
[0043] 图3是示出根据示例性实施例的综合标引系统的示图。服务器端索引器330根据内容服务器330对内容标引,并更新服务器端索引332。如上所述,随着服务器的数目和内容的量快速增长,对于服务器端索引器330难以使得服务器端索引332保持最新。
[0044] 根据示例性实施例,客户端索引器310和320分别提供对于特定用户定制的客户端索引312和322。客户端索引器310和320可以是但不限定为单机应用或Web浏览器插件。
[0045] 第一用户安装客户端索引器310并设置配置选项314。配置选项可包括以下内容:
[0046] 标引时间表——什么时候和多久更新索引。
[0047] 包括列表——经常标引的站点列表。
[0048] 排除列表——从不标引的站点列表。
[0049] 收集的用户数据——通过程序收集什么数据用于标引。
[0050] 定制服务——通过其它用户的客户端索引器更新的索引列表。
[0051] 服务器更新——是否向互联网搜索引擎发送被更新的索引以识别变化。
[0052] P2P索引共享——是否与对等点共享索引。
[0053] 标引类型或算法配置。
[0054] 自动标引——在支持时,标引应用确定对哪些页面标引。
[0055] 相关标准——在索引中包括的标准。
[0056] 这些配置选项允许用户在客户端上完全定制搜索标引。
[0057] 客户端索引器310例如可自动和透明地启动标引操作。即,客户端索引器310可根据时间表,或可能在客户端设备空闲时根据后台的内容服务器330对内容标引。
[0058] 客户端索引器310可使用包括列表和排除列表确定要标引的内容。此外,客户端索引器310可使用自动标引和相关性标准确定要标引的内容。例如,客户端索引器310可以标引最近的搜索结果、大量访问的站点、书签或收藏夹、标记的站点、或由具有相似兴趣的人们访问的站点。为此,客户端索引器310可存储使用信息316。
[0059] 配置选项314也可以允许用户在页面中定义要标引的信息以及要使用的标引类型或算法。例如,用户可设置配置选项314,以标引常阅读的Web日志(博客)页面,并选择用于标引博客的指定算法。在本实例中,这个算法可更加关注博客主题、日期、和引用(trackback),并减少关注先前的项目和评论。
[0060] 类似地,客户端索引器320提供客户端索引322。第二用户可安装客户端索引器320并设置配置选项324。随后,客户端索引器可根据配置选项324对内容服务器330上的内容标引,以形成客户端索引322。此外,客户端索引器320可基于使用信息326根据在配置选项324中的相关性标准确定要标引的内容。
[0061] 此外,图3中所示的综合标引系统可提供合作点对点(P2P)团体方式。由于每个用户可定制本地索引以满足他或她的需求,所以这个信息除了被反馈至服务器之外还可以与其它类似用户共享。在一个实施例中,与客户端索引器310关联的用户可以例如基于在本地索引或使用信息中的相似性匹配于与客户端索引器320关联的用户。然后,这些用户可成对共享本地索引、索引配置、以及要本地标引的站点的自动提议。这进一步提高了标引操作的效力和效率,并且不会给服务器端索引器330带来任何附加的负担。
[0062] 图4是示出根据示例性实施例的搜索系统的示图。搜索客户端410向搜索引擎420提交搜索查询412。搜索客户端410可以是Web浏览器,例如运行从搜索引擎420作为Web页面所提供的搜索应用。搜索客户端410将客户端索引414连接到搜索请求412。搜索客户端410还可包括浏览器插件(未示出)。
[0063] 当搜索引擎420接收到搜索请求412和客户端索引414时,将客户端索引414的时间戳与服务器端索引422的时间戳相比较。如果客户端索引414更新,则搜索引擎420将客户端索引414与服务器端索引422组合。
[0064] 客户端索引414可对于与服务器端索引422重叠或不重叠的内容的部分进行标引。由客户端索引414标引的内容特定于与搜索客户端410关联的用户的偏好和使用历史。此外,客户端索引414可包括与P2P团体中其它相关的客户端索引的全部或一部分。
[0065] 搜索引擎420使用组合索引执行搜索。当搜索完成时,搜索引擎420向搜索客户端410返回搜索结果424。
[0066] 在一个示例性实施例中,搜索客户端410可向搜索引擎420提交搜索请求412。然后,搜索引擎420可使用客户端索引422执行搜索,并返回搜索结果424。搜索引擎420可以用服务器端索引422的时间戳对搜索结果424标记时间戳。
[0067] 搜索客户端410还可使用客户端索引414在客户端执行搜索。搜索客户端410还可以用服务器端索引414的时间戳对得到的搜索结果(未示出)标记时间戳。然后,搜索客户端410将服务器搜索结果424的时间戳与客户端搜索结果的时间戳相比较。如果客户端搜索结果的时间戳表示客户端索引414比服务器端索引424更新,则搜索客户端410可将客户端搜索结果结合到服务器搜索结果424中。
[0068] 图5是示出根据示例性实施例的客户端索引器的操作的流程图。可以理解,可通过计算机程序指令实现流程图的每个方框以及流程图中方框的组合。可将这些计算机程序指令提供至处理器或其它可编程数据处理装置以生成机器,从而在处理器或其它可编程数据处理装置上执行的指令创建用于实现在流程方框或多个方框中指定的功能的装置。这些计算机程序指令也可以存储在控制处理器或其它可编程数据处理装置以特定方式运行的计算机可读存储器或存储介质中,从而在计算机可读存储器或存储介质中存储的指令生成含有用于实现在流程方框或多个方框中指定的功能的指令装置的制造品。
[0069] 因此,流程图的方框支持用于执行指定功能的装置的组合、用于执行指定功能的步骤的组合以及用于执行指定功能的程序指令装置。还可以理解,可通过执行指定功能或步骤的基于专用硬件的计算机系统、或通过专用硬件和计算机指令的组合来实现流程图的每个方框、以及在流程图中的方框的组合。
[0070] 现在参照图5,操作开始,并且客户端索引器加载配置选项(方框502)。客户端索引器确定是否更新客户端索引的全部或一部分(方框504)。客户端索引器可基于总时间表、与客户端索引的特定部分相关的时间表、客户端设备是否空闲等确定是否更新客户端索引。
[0071] 如果客户端索引器确定不更新客户端索引,则客户端索引器确定是否存在退出条件(方框506)。例如,如果客户端索引器关闭或客户端设备关机,则可存在退出条件。如果不存在退出条件,则操作返回框504,以确定是否更新客户端索引。如果在框506中存在退出条件,则操作结束。
[0072] 返回框504,如果客户端索引器确定要更新客户端索引的全部或一部分,则客户端索引器基于配置选项和使用信息识别要标引的内容(方框508)。客户端索引器确定用于所识别内容的标引类型和/或算法(方框510)。接下来,客户端索引器通过标引所识别内容来更新客户端搜索索引(方框512)。之后,操作进行方框506,以确定是否存在退出条件。
[0073] 图6是根据示例性实施例的搜索引擎的操作的流程图。操作开始,并且搜索引擎接收到附加有客户端索引的搜索请求(方框602)。搜索引擎将客户端索引的时间戳与服务器端索引的时间戳相比较(方框604)。然后,搜索引擎确定客户端索引是否比服务器端索引更新(方框606)。
[0074] 如果服务器端索引比客户端索引更新,则搜索引擎使用服务器端索引执行搜索(方框608)。之后,搜索引擎向请求客户端返回搜索结果(方框610),并且操作结束。
[0075] 如果在方框606中客户端索引的至少一部分比服务器端索引的对应部分更新,则搜索引擎将客户端索引与服务器端索引组合(方框612)。然后,搜索引擎使用组合的搜索索引执行搜索(方框614)。之后,操作进行方框610,以向请求客户端返回搜索结果,并且操作结束。
[0076] 图7是示出根据示例性实施例的组合客户端和服务器端搜索的操作的流程图。操作开始,并且搜索客户端接收到搜索请求(方框702)。搜索客户端向搜索引擎服务器发送搜索请求(方框704)。搜索引擎服务器执行搜索以生成搜索结果的组。服务器用服务器端搜索索引的时间戳对搜索结果的组标记时间戳。
[0077] 然后,搜索客户端从服务器接收被标记时间戳的搜索结果的组(方框706)。搜索客户端还使用客户端搜索索引执行搜索(方框708)。接下来,搜索客户端将客户端搜索结果的时间戳与服务器搜索结果的时间戳相比较(方框710)。然后,搜索客户端确定客户端索引是否比服务器端索引更新(方框712)。
[0078] 如果服务器端索引比客户端索引更新,则搜索客户端向用户返回服务器搜索结果(方框714),并且操作结束。如果在方框710中客户端索引的至少一部分比服务器端索引的对应部分更新,则搜索客户端将客户端搜索结果与服务器端搜索结果组合(方框716)。然后,搜索客户端向用户返回组合的搜索结果(方框718),并且操作结束。
[0079] 因此,示例性实施例通过透明地并且结合基于服务器的搜索索引运行的客户端搜索标引程序解决了现有技术的缺点。组合的搜索索引提供了针对每个个人用户的兴趣所定制的更加精确并且最新的Web图像。客户端索引器将特定Web页面的标引定制为用户的偏好和使用模式。
[0080] 首先,用户在客户端安装和配置客户端索引器。在搜索期间,对于被请求的索引进行自动刷新并且与主服务器端索引结合。当用户执行搜索时,客户端索引可以与主服务器端索引组合。所组合的索引为特定用户提供精确的搜索结果。这允许用户使用用户最感兴趣的站点的频繁更新索引进行搜索,同时仍旧利用由大量Web的服务器保持的大型索引。
[0081] 由于在搜索引擎提供商之间残酷的竞争证明,在搜索引擎技术中的任何提高可能都是无法估计的。示例性实施例提供了通过为每个用户个性化的可制定的、综合本地搜索索引来提高搜索功能、精确性和用户友好性的机制。
[0082] 可以理解,本发明可采用完全硬件实施例、完全软件实施例或包含硬件和软件元素的实施例的形式。在一个优选实施例中,在包括但不限于固件、驻留软件、微码等的硬件和软件中实现本发明。
[0083] 此外,本发明可采用从计算机可用或计算机可读介质可访问的计算机程序产品的形式,所述计算机可用或计算机可读介质提供用于计算机或任意指令执行系统或与其连接的程序代码。为了这里说明的目的,计算机可用或计算机可读介质可以是可包含、存储、通信、传播或传输用于指令执行系统、装置或设备或与其连接的程序的任意装置。
[0084] 介质可以是电子、磁、光、电磁、红外或半导体系统(或装置或设备)或传播介质。计算机可读介质的实例包括:半导体或固态存储器、磁带、可卸计算机磁盘、随机存取存储区(RAM)、只读存储区(ROM)、硬盘和光盘。光盘的当前实例包括压缩盘-只读存储区(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。
[0085] 适用于存储和/或执行程序代码的数据处理系统包括直接或通过系统总线间接与存储区元件耦合的至少一个处理器。存储器元件可包括在程序代码的实际执行期间采用的本地存储器、海量存储装置、以及提供至少一些程序代码的临时存储以减少在执行期间必须从海量存储装置提取代码的次数的高速缓存。
[0086] 输入/输出或I/O设备(包括但不限于键盘、显示器、定点设备等)可直接或通过中间I/O控制器耦合至系统。网络适配器也可耦合至系统,以使得数据处理系统能够通过中间专用网络或公共网络耦合至其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅是网络适配器的几个当前可用类型。
[0087] 为了说明和描述的目的提出本发明实施例的以上描述,并且以上描述不是穷尽的,并且没有将本发明限制在所公开的特定形式。对于本领域普通技术人员,许多变形和改变是清楚的。选择和描述实施例以最佳地解释发明原理、实际应用,以及使得本领域普通技术人员能够通过适用于特定用途的具有各种修改的各种实施例理解本发明。