CN102163210A - 索引元数据的快速更新 - Google Patents

索引元数据的快速更新 Download PDF

Info

Publication number
CN102163210A
CN102163210A CN201110039898XA CN201110039898A CN102163210A CN 102163210 A CN102163210 A CN 102163210A CN 201110039898X A CN201110039898X A CN 201110039898XA CN 201110039898 A CN201110039898 A CN 201110039898A CN 102163210 A CN102163210 A CN 102163210A
Authority
CN
China
Prior art keywords
index
storer
updating file
query result
computer
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
Application number
CN201110039898XA
Other languages
English (en)
Other versions
CN102163210B (zh
Inventor
P·佩曼德拉
俞寅喆
G·萨瑞恩
A·库马
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102163210A publication Critical patent/CN102163210A/zh
Application granted granted Critical
Publication of CN102163210B publication Critical patent/CN102163210B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及索引元数据的快速更新。提供了用于对存储器内索引执行更新过程的系统和方法。在以更新文件的形式接收到对与搜索引擎相关联的倒排索引所覆盖的文档修改的通知之后,将该修改的表示发布到各索引服务机器上。接收该更新文件的每一索引服务机器确定修改是否适用于该索引服务机器。如果索引服务机器确定它包含与经修改的文档相对应的映射信息,则索引服务机器利用该更新文件和相关联的映射信息来更新存储器内索引。在各实施方式中,存储器内索引被用来配合倒排索引提供对用户查询的结果。在一些实施方式中,维护使用持续传入的元数据更新来修订的额外存储器内索引,并且已有存储器内索引与经修订的存储器内索引周期性地进行交换。

Description

索引元数据的快速更新
技术领域
本发明涉及索引更新,尤其涉及索引元数据的快速更新。
背景技术
通常,索引被用来促进web的高效导航。这些索引是根据处于该索引的范围内的文档(例如,网页)的内容的改变来频繁更新的。在各种情况下,使用web爬行器来以预定的时间间隔浏览这些文档以发现对内容的改变。通常,在每次web爬行器发现对文档的内容的改变时都替换整个索引,而不管该改变有多么无关紧要。替换索引通常包括使该索引长时间离线并执行该索引的完全归并。另外,在主索引离线时,需要创建若干副本索引并在主索引停机时依赖这些副本索引来为用户服务。频繁地(例如,每天)执行完全归并惊人地昂贵,因为它消费大量计算资源。因此,索引并未被更新得足以有效地跟踪对它们的范围内的文档的内容的改变。
因为用于更新索引以与所跟踪的文档或其他数据的内容相对应的当前解决方案在更新之前导致显著的延迟,所以该索引没有反映对网页的各项(例如,在线销售的物品所附的价格)的最新近改变或对其他结构化数据(例如,各种格式的文档、非web源)的更新。当索引在大小上昂贵从而覆盖了存储在多个网站处的多个文档时,延迟更新的这些缺点更加恶化。
发明内容
提供本发明内容是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本发明的各实施方式涉及通过记录对可通过存储器内索引中的倒排索引来搜索的文档内的内容的改变,来快速地更新搜索索引(例如,用于搜索与网站相关联的文档的倒排索引)中的元数据的系统、方法和计算机可读介质以及其他。一开始,在接收到指示发生了对与倒排索引相关联的一个或多个文档的内容的修改的更新文件后,可以将该更新文件发布给若干索引服务设备。在从该更新文件过滤出相关更新信息之后,索引服务设备可以提取经修改的文档的标识符,并查明该经修改内容在文档内的相对位置。该更新文件、文档的标识符以及经修改内容的相对位置可被用来更新存储器内索引。该存储器内索引包含与主倒排索引相关联的文档的经修改内容底层的元数据的表示。
可以使用元数据更新来持续地更新该存储器内索引。在各实施方式中,该存储器内索引可以结合主倒排索引用来响应于用户查询提供查询结果。此外,在接收到用户查询之后,来自该存储器内索引(包含与倒排索引相关联的元数据的最新近更新)的查询结果和来自倒排索引(通过对文档进行web爬行和构建来生成)的查询结果可被归并并且返回给用户。
附图说明
以下参考所附附图详细描述本发明的各实施方式,附图中:
图1是适用于实现本发明的示例性计算环境的框图;
图2是根据本发明一实施方式的示例性系统的框图;
图3是用于执行根据本发明的一实施方式的更新过程的示例性计算设备的框图;
图4是根据本发明一实施方式的总体方法的框图;
图5是根据本发明一实施方式的用于更新存储器内索引的总体方法的流程图;以及
图6是根据本发明一实施方式的用于更新存储器内索引的另一总体方法的流程图。
具体实施方式
此处用细节来描述本发明的主题以满足法定要求。然而,该描述本身并非旨在限制本专利的范围。相反,发明人设想所要求保护的主题还可结合其他当前或未来技术按照其他方式来具体化,以包括不同的步骤或类似于本文中所描述的步骤组合。此外,尽管术语“步骤”和/或“框”可在此处用于指示所采用的方法的不同元素,但除非而且仅当明确描述了各个步骤的顺序时,否则该术语不应被解释为意味着此处公开的各个步骤之中或之间的任何特定顺序。
本发明涉及用于通过记录对可通过存储器内索引中的主倒排索引来进行搜索的文档内的内容的改变,来快速更新倒排索引中的元数据的系统、方法和计算机可读介质。
因此,在一个方面,本发明提供存储计算机可使用指令的一个或多个计算机可读介质,该计算机可使用指令在被一个或多个计算设备使用时使得该一个或多个计算设备执行一种方法。该方法包括接收更新文件,该更新文件提供已经发生了对与倒排索引相关联的一个或多个文档的内容的修改的指示。该方法还包括将更新文件发布给位于多个索引服务设备上的存储器内索引管理器,该存储器内索引管理器被配置成启动将更新文件应用于主存储器内索引的更新过程。该更新过程包括对于发布给存储器内索引管理器的每一更新文件,确定多个索引服务设备中的每一索引服务设备是否包含与该更新文件相对应的映射数据。该更新过程还包括对于包含与该更新文件相对应的映射数据的每一索引服务设备,从该更新文件提取与经修改的内容相关联的一个或多个文档的文档标识符。该更新过程还包括对于包含与该更新文件相对应的映射数据的每一索引服务设备,利用索引对象来查明经修改的内容的位置,该索引对象维护与倒排索引相关联的一个或多个文档之一的内容的位置的结构化记录。该更新过程还包括利用该更新文件、文档标识符,以及经修改的内容的位置,来更新主存储器内索引。该主存储器内索引被用来响应于一个或多个用户查询提供查询结果集合。
在本发明的另一实施方式中,一个方面是针对用于执行在线更新过程的计算机系统。如以下更全面地描述的,该计算机系统包括耦合到计算机存储介质的处理单元,其中该计算机存储介质存储可由该处理单元执行的多个计算机软件组件。计算机软件组件中的一些包括接收组件、发布组件、存储器内索引管理器,以及索引文件管理器。一般而言,接收组件被配置成接收更新文件,该更新文件提供已经发生了对与倒排索引相关联的一个或多个文档的内容的修改的指示。发布组件被配置成将更新文件推送到位于多个索引服务设备上的一个或多个存储器内管理器。在各实施方式中,多个索引服务设备中的每一个包括被配置成确定每一索引服务设备是否包含与所发布的更新文件相对应的映射数据的过滤组件。每一存储器内索引管理器被配置成启动对对应存储器内索引的更新过程,该存储器内索引维护对与倒排索引相关联的一个或多个文档的修改的记录。索引文件管理器被配置成利用来自存储器内索引和倒排索引两者的查询结果来响应于用户查询提供查询结果集合,该索引文件管理器将来自存储器内索引和倒排索引的查询结果进行归并,以生成响应于用户查询而提供的查询结果集合。
在又一个方面,本发明提供存储计算机可使用指令的一个或多个计算机可读介质,该计算机可使用指令在被一个或多个计算设备使用时使得该一个或多个计算设备执行一种方法。该方法包括接收用户查询。该方法还包括从倒排索引响应于用户查询提取主查询结果,该倒排索引位于多个索引服务设备上。在各实施方式中,该倒排索引是通过爬行预定网站范围内的所监视的文档集合来更新的。该方法还包括响应于该用户查询确定与多个索引服务设备相关联的存储器内索引包含次查询结果,该次查询结果包含对该倒排索引所覆盖的一个或多个文档的内容底层的元数据的最新近更新。该存储器内索引由一更新过程来更新,该更新过程包括接收提供已经发生了对与倒排索引相关联的一个或多个文档的内容的修改的指示的更新文件。该更新过程还包括将该更新文件发布给位于多个索引服务设备上的存储器内索引管理器。该更新过程还包括对于发布给存储器内索引管理器的每一更新文件,确定多个索引服务设备中的每一索引服务设备是否包含与该更新文件相对应的映射数据。该更新过程还包括对于包含与该更新文件相对应的映射数据的每一索引服务设备,从该更新文件提取与经修改的内容相关联的一个或多个文档的文档标识符。该更新过程还包括对于包含与该更新文件相对应的映射数据的每一索引服务设备,利用索引对象来查明经修改的内容的位置,该索引对象维护与倒排索引相关联的一个或多个文档之一的内容的位置的结构化记录。该更新过程还包括利用该更新文件、文档标识符,以及经修改的内容的相对位置,来更新存储器内索引。该方法还包括从该存储器内索引中提取次查询结果并将主查询结果与该次查询结果进行归并。该方法还包括呈现响应于用户查询的查询结果集合。
如本文所使用的,短语“倒排索引”和/或“主倒排索引”不意味着是限制性的,而是可涵盖任何形式的索引。在一种情况下,倒排索引是通过对该倒排索引所覆盖的文档进行web爬行和构建来生成的索引。如本文所使用的,短语“存储器内”索引是将经改变的项与该索引中的经修改的位置和元数据进行映射的索引。该存储器内索引可以经由随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术。该存储器内索引还可使用与存储器不同的存储手段来实现。在各实施方式中,倒排索引中的每一项可具有与其相关联的元数据。例如,项“价格”可具有与其相关联的元数据,其中该元数据指示对象的价格。因此,存储器内索引组织并存储新更新的元数据。因此,在倒排索引中的对象的价格改变时,存储器内索引对经更新的价格元数据进行组织并临时存储在存储器内。
简要描述了本发明的各实施方式的概览之后,现在描述适于实现本发明的各实施方式的示例性操作环境。
概括地参考附图,并首先具体参考图1,示出了用于实现本发明的各实施方式的示例性操作环境,并将其概括地指定为计算设备100。计算设备100只是合适的计算环境的一个示例,并且不旨在对本发明的各实施方式的使用范围或功能提出任何限制。也不应该把计算环境100解释为对所示出的任一组件或其组合有任何依赖性或要求。
本发明的各实施方式可以在由计算机或诸如个人数据助理或其他手持式设备之类的其他机器执行的计算机代码或机器可使用指令的一般上下文中描述,该机器可使用指令包括诸如组件程序之类的计算机可执行指令。一般而言,包括例程、程序、对象、组件、数据结构等的组件程序指的是执行特定任务或实现特定抽象数据类型的代码。本发明的各实施方式可以在各种系统配置中实施,这些系统配置包括手持式设备、消费电子产品、通用计算机、专用计算设备等等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实施。
继续参考图1,计算设备100包括直接或间接耦合以下设备的总线110:存储器112、一个或多个处理器114、一个或多个呈现组件116、输入/输出(I/O)端口118、I/O组件120、和说明性电源122。总线110可以是一条或多条总线(诸如地址总线、数据总线、或其组合)。虽然为了清楚起见利用线条示出了图1的各框,但是实际上,各组件的轮廓并不是那样清楚,并且比喻性地来说,线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备等的呈现组件认为是I/O组件。而且,处理器具有存储器。发明人认识到,这是本领域的特性,并且重申,图1的图示只是例示可结合本发明的一个或多个实施方式来使用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,它们全部都被认为是在图1的范围之内并且被称为“计算机”或“计算设备”。
计算设备100通常包括各种计算机可读介质。作为示例而非限制,计算机可读介质可以包括随机存取存储器(RAM);只读存储器(ROM);电可擦除可编程只读存储器(EEPROM);闪存或其他存储器技术;CDROM、数字多功能盘(DVD)或其他光或全息介质;磁带盒、磁带、磁盘存储或其他磁存储设备;或可用于对所需信息进行编码并且可由计算设备100访问的任何其他介质。
存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移动的、不可移动的、或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备100包括从诸如存储器112或I/O组件120等各种实体读取数据的一个或多个处理器。呈现组件116向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等等。I/O端口118允许计算设备100在逻辑上耦合至包括I/O组件120的其他设备,其中某些设备可以是内置的。说明性组件包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、打印机、无线设备等等。
现在转向图2,示出了根据本发明的一实施方式的一个框图,它示出了被配置成生成经更新的存储器内索引的系统200。本领域普通技术人员可以理解和明白,图2中示出的系统200仅仅是一个合适的计算系统环境的示例并且不旨在对本发明的各实施方式的使用范围或功能提出任何限制。也不应该将系统200解释为对其中所示出的任何单个组件或各组件的组合有任何依赖性或要求。此外,系统200可作为独立产品、作为软件开发环境的一部分或其任何组合来提供。
系统200包括数据中心280内的一个或多个用户计算设备245、网络爬行器265、接收组件270、发布组件275以及一个或多个数据存储230,它们全部彼此通信。一般而言,示例性系统200的各组件(例如,网络爬行器265、接收组件270、发布组件275)可以通过相关领域中已知的任何方法来进行互连。在各实施方式中,提供网络220来促进数据存储230与数据中心280的计算设备245之间的通信。例如,数据存储230和数据中心280可以经由包括分布式通信环境的网络220在操作上相耦合。在一个示例中,网络220可以是无线的,并且可包括,但不限于,一个或多个局域网(LAN)和/或广域网(WAN)。这样的联网环境常见于办公室、企业范围计算机网络、内联网和因特网中。另外,更多组件(例如,BTS、设备等)可以在操作上耦合到无线网络220。
在又一些实施方式中,图2的网络220可以将组件210、260、265、270和275进行耦合,从而形成其中任务由通过适当的连接来链接的远程处理设备执行的分布式计算环境。这些连接可以通过有线技术、无线技术或其组合来建立。本发明的范围内的特定有线实施方式的示例包括USB连接和电缆连接。本发明的范围内的特定无线实施方式的示例包括近场无线网络和射频技术。应当理解和明白,“近场无线网络”的称呼不意味着是限制性的,而是应当广泛地包括至少以下技术:协商无线外围(NWP)设备;近程无线空中干扰网络(例如,无线个人区域网(wRAN)、无线局域网(wLAN)、无线广域网(wLAN)、蓝牙TM等);无线对等通信(例如,超宽带);以及支持设备之间的无线数据通信的任何协议。另外,熟悉本发明的领域的技术人员将认识到,近程无线网络可以通过与所示出的具体实施方式不同的各种数据传输方法(例如,卫星传输、电信网络等)来实施。因此,要强调的是,各组件之间的连接的实施方式不受所描述的示例的限制,而是涵盖各种各样的通信方法。
示例性系统200的分布式计算环境包括被配置成利用计算设备245中的一个或多个来容纳并支持组成程序210、260以及可任选地265、270和/或275的操作的数据中心280。本领域普通技术人员将理解和明白,图2所示的数据中心280仅仅是用于容纳组件程序中的一个或多个的一个合适示例,并且不旨在对本发明的各实施方式的使用范围或功能提出任何限制。也不应将数据中心280解释为对任何单个组件、组件组合、资源(未示出)、或用于访问资源的API集合(未示出)有任何依赖和要求。此外,尽管为了清楚起见用线条示出了图2的各个框,但是在实际上,各组件的轮廓并不是那样清楚,并且比喻性地来说,线条更精确地将是灰色的和模糊的。
此外,应当注意,本发明的各实施方式不限于在图2中示出的这些物理资源(例如计算设备245)上实现,而是可在处于其各实施方式的范围内的各种不同类型的计算设备、装备和组件程序中的任一种上实现。换言之,所示出的数据中心280的计算设备245描绘旨在用于讨论目的的示例性配置;因此,计算工业中已知的任何合适的计算设备布局以及其上常驻的组件程序的各实例都可以使用并且已被本发明构想到。
图2所示的计算设备245中的每一个都可以是任何类型的计算设备,诸如例如以上参考图1描述的计算设备100。仅作为示例而非限制,计算设备245中的每一个可以是服务器、个人计算机、处理刀片、服务器、台式计算机、膝上型计算机、手持式设备、移动手机、消费电子设备等。另外,计算设备245还可包括键盘、键区、指示笔、操纵杆以及允许用户访问网络220上的有线和无线数据的任何其他输入发起组件。然而,应当注意,本发明不限于在这些计算设备上实现,而是可在处于其各实施方式的范围内的各种不同类型的计算设备的任一种上实现。
在各实施方式中,每一计算机设备245是索引服务床内的索引服务机(ISM)。如此,每一计算机设备245提供由数据中心280提供的搜索系统索引的一部分。另外,计算设备245中的每一个可以配备便于通过由网络220支持的因特网和/或由数据中心280支持的内联网内的路径来接收消息的硬件。这些消息可包括与处理对维护在数据存储230处的文档225的修改和/或使用这些修改来更新存储器内索引相一致的通信。这些通信可以在连接的建立的开始或结束时传送,或在这两者之间的任何时间传送。另外,在计算设备245上部署能够以任何速度或以任何预定义的时间段传送消息的硬件。
通常,该硬件被配置成或被链接到某种形式的计算单元(例如,中央处理单元、微处理器等)以支持在其上运行的组件的操作。如本文所使用的,短语“通信单元”一般指的是具有处理能力和存储器的专用计算设备,它支持作为其上安装的应用程序和计算机程序的执行的基础的操作软件。在一种情况下,计算单元配置有有形硬件元素或机器,它们是集成的或在操作上耦合到执行更新相关过程(例如,更新过程、归并过程等)以及其他操作的每一设备。在另一情况下,计算单元可涵盖耦合到计算设备245所容纳的计算机可读介质的处理器。一般而言,计算机可读介质至少临时地存储可由处理器执行的多个计算机软件组件(例如,图2的组件210、260、265、270和/或275)。如本文所使用的,术语“处理器”不旨在是限制性的,并且可涵盖具有计算能力的计算单元的任何元素。在这种能力中,处理器可被配置成处理指令的有形物品。在一示例性实施方式中,处理可包括获取、解码/解释、执行、并写回指令(例如,将经更新的倒排索引或存储器内索引保存到计算机可读存储器)。
同样,除了处理指令外,处理器可以向集成到或部署在数据中心280上的其他资源(未示出)传送或从中传出信息。一般而言,资源指的是使数据中心280能够执行特定功能的软件和硬件机制。仅仅作为示例,资源可包括以下机制中的一个或多个:成像装置(例如,用户界面显示器);数据存储;打印设备;寻呼系统;音频警报设备;以及媒体显示单元。
数据存储230一般被配置成存储与文档225相关联的信息。在各实施方式中,文档225可包括但不限于元数据、文件(例如,网页)、文件夹、和/或与网站相关的数据。如本文描述的,元数据可以是描述文档225中的一个或多个的一部分的任何一段信息。例如,文档225之一的语言可以是元数据。一般而言,元数据是描述诸如网页文档等文档225中的任何类型的信息的数据。作为示例,元词语是描述文档的一个方面(例如,文档的特性、文档的元素、项、价格、字符、短语等)的词语。此外,元词语有时不位于或包括在文档225内,而是可以表示文档225内找到的元素或该文档的特性。其他元词语可包括但不限于语言(例如,web文档的语言)、位置(例如,web文档的起源的国家)或类型(例如,web文档的类型)。
另外,数据存储230可被配置成可被搜索以进行对所存储的信息的合适访问。例如,数据存储230可被搜索来寻找与文档225中的一个或多个相关联的一个或多个修改240、添加、或删除。本领域普通技术人员可以理解和明白,存储在数据存储230中的信息可以是可配置的,并且包括与经归并的倒排索引更新过程相关的任何信息。这样的信息的内容和量绝不旨在限制本发明的各实施方式的范围。此外,虽然被示为独立组件,但数据存储230事实上可以是多个数据库,例如,数据库集群,其中它的各部分可以驻留在计算设备245、搜索引擎(未示出)、另一外部计算设备,和/或其任何组合中的一个或多个上。
虽然本文频繁使用“web文档”,但它不旨在意味着限制本文描述的系统200的范围。即,系统200不限于只对web文档进行索引,而是还对由其他机制摄取的各种其他类型的文档进行索引。这些文档可由供应者提供或由与WWW不同的自动过程(例如,二进制数据堆、SQL数据堆、馈源等)来提供。此外,对这些文档的更新也可通过不同的机制来提供。
如图2所示,示例性系统200包括各种组成程序,如存储器内索引管理器210、索引文件管理器260、网络爬行器265、接收组件270以及发布组件275。在一些实施方式中,所示出的组件210、260、265、270和275中的一个或多个可被实现成独立应用程序。在其他实施方式中,所示出的组件210、260、265、270和275中的一个或多个可以直接集成到数据中心280的操作系统、数据存储230、和/或计算设备245的一个或多个中。作为示例,存储器内索引管理器210可以是索引文件管理器260的子组件。本领域普通技术人员可以理解,图2中示出的组件210、260、265、270和275在性质和数量上是示例性的并且不应被解释为是限制性的。可以采用任何数量的组件来实现本发明的各实施方式范围内的所需功能。
在操作中,示例性系统200的各组件执行下文讨论的功能中的一个或多个。然而,本发明的各实施方式不限于所描述的具体功能,而是可包括实现以下组件功能所获得的结果的替换过程。一开始,可以对存储在数据存储230中的一个或多个上的文档225中的一个或多个进行修改240。在一种情况下,修改240可被应用于文档225的内容。这一类型的修改240通常包括网站管理员235或掌握对文档225的管理控制的任何其他实体发起的改变。作为示例,对文档225进行的修改240可以包括更改在线发布的网页内的至少一个项。例如,该项可以是与基于零售的网页处的待售物品相关联的价格值。
虽然描述了对文档225的修改240的若干不同的配置,但本领域普通技术人员应当理解和明白,可以使用(有编辑文档225的权限的实体手动地/自动地采用的)造成对文档225的任何部分(例如,文档225的内容和项底层的元数据)的更改的其他类型的合适技术,并且本发明的各实施方式不限于本文描述的这些修改240。
网络爬行器265一般被配置成在执行检查过程时发现并表达对文档225的修改240的指示。一开始,网络爬行器265可以经由网络220来访问文档。或者,网络爬行器265可以部分地分布到数据存储230中的一个或多个上,或者可以是在不读取文档225的情况下远程地监视修改240的独立元件。在一种情况下,检查过程包括爬行落入可经由倒排索引搜索的预定网站范围内的所监视的文档集合内的文档225。在另一情况下,检查过程包括检测修改240,如调整文档集合内的文档225的内容底层的元数据。可以利用相关领域的普通技术人员知道的任何分析过程来执行对修改240的检测。作为示例,可以通过将先前高速缓存的文档版本与数据存储230当前所维护的文档225进行比较来实现检测,以发现并定位任何不一致。此外,网络爬行器265所执行的检查过程可以按规则的时间间隔、按预定义的时间段、以实时的方式(例如,由访问并编辑文档225的内容的网站管理员235来触发)或促进对修改240的有效检测的任何其他方式来执行。
在网络爬行器265爬行文档集合并对其执行检查过程时,可以检测修改240。在一示例性实施方式中,在检测到修改240时(例如,识别出网站中的各项已被改变),网络爬行器265可以将修改240通知给发布组件275。在一些实施方式中,网络爬行器还可以指示修改240在接收到该改变的文档225内的相对位置。
在又一情况下,接收组件270可被配置成接收并表达对文档225的修改240的指示。例如,在一个实施方式中,接收组件可以从网站管理员235接收更新文件。该更新文件可以提供已经发生了对数据存储230的文档225的内容的修改240的指示。因此,接收组件270可以经由网络220接收更新文件,而无需网络爬行器265爬行文档225以搜索对数据存储230的内容的修改240。在接收到更新文件之后,接收组件270可以将修改240通知给发布组件275(例如,识别出网站中的各项已被改变)。
在被通知了修改240之后,发布组件275可以将该修改通知给存储器内索引管理器210。在一种情况下,发布组件275可以将接收到的关于修改240的数据发送给数据中心280的每一计算设备245。作为示例,发布组件275可以将更新文件205推送到数据中心280的每一计算设备245。
存储器内索引管理器210可以位于计算机设备245上。在一实施方式中,数据中心280的每一计算机设备245包括便于更新每一相应计算机设备245的存储器内索引的存储器内索引管理器210。在另一实施方式中,存储器内索引管理器210可以是索引文件管理器的组件。存储器内索引管理器210可以启动将修改240应用于存储器内索引的更新过程。更新索引服务设备245上的存储器内索引可包括需要将与更新文件205和修改240相关的信息处理成可被应用于该存储器内索引的格式的各个过程。在各实施方式中,该信息包括被修改的数据(例如,项、内容、底层元数据等)、修改240的特性(例如,在文档225中的相对位置),以及接收修改240的文档225的标识。在各实施方式中,文档225的标识可包括以下一个或多个:URL、网页地址、数据存储225的网站的位置、或与修改240的源相关联的数据。
在从发布组件275接收到所发布的更新文件205之后,存储器内索引管理器210可以启动将所发布的更新文件205的修改应用于存储器内索引的更新过程。存储器内索引管理器210可被安装在数据中心280的计算设备245(例如,索引服务床内的索引服务器机器(ISM))上。该更新过程可涉及各种过程,这些过程包括将与修改240相关的信息封装成可被应用于存储器内索引的格式(参见图3的附图标记330)。在各实施方式中,该信息包括被修改的数据(例如,项、内容、底层元数据等)、修改240的特性(例如,在文档225中的相对位置、经修改文档的版本)以及接收修改240的文档225的标识。
一开始,更新过程可包括确定接收到所发布的更新文件205的计算机设备245是否包含与所发布的更新文件205相对应的映射数据。具体而言,每一计算机设备245提供数据中心280所提供的全局索引的一部分。因此,给定计算机设备245的更新过程包括确定检索到的更新文件205是否适用于该计算机设备245所提供的全局索引的这一部分。在各实施方式中,所发布的更新文件205可包括包含URL和对项和/或与经更改的文档225相关联的相关元数据的改变的数据。在接收到所发布的更新文件205后,存储器内索引管理器210可以启动过滤过程以确定更新文件205中包含的修改是否适用于该对应计算机设备245所提供的索引的这一部分。过滤步骤可包括计算机设备245的存储器内索引管理器210将由所发布的更新文件205指示为被修改了的文档的URL与同存储在该计算机设备245上的映射数据相关联的URL进行比较。用于更新索引元数据的传统系统和方法通常包括划分从更新文件接收到的数据发布管理器并分发与特定索引服务器机器相关的相应数据部分。在发布管理器处的数据划分可以造成更新系统中的瓶颈并妨碍对更新数据的快速发现。在各实施方式中,发布组件275可以将更新文件205发布给数据中心280的所有索引服务设备245,然而只有提供与所发布的更新文件205相关联的数据的那些计算机设备245才在过滤步骤之外继续对更新文件205进行进一步处理。通过利用若干ISM 245来并行地进行更新数据的划分,可以减少从发布更新到在倒排索引中反映该更新的时间。更新过程还可包括对于包含与更新文件205相对应的映射数据的每一计算机设备245,从更新文件205提取经更改的文档225的文档标识符。在各实施方式中,文档225的标识可包括以下一个或多个:URL、网页地址、数据存储225的网站的位置、或与修改240的源相关联的数据。
更新过程甚至还可包括使用索引对象来确定修改240在文档225(例如,发布的网页)的内容内的相对位置。索引对象可以维护数据存储230中的文档225的内容的位置的结构化记录。在一种情况下,计算机设备245的存储器内索引管理器210可以访问维护最新映射时间表的独立服务和/或内部模式,该时间表将经更改的文档225的URL或网页地址与相关联的文档225的唯一标识符相匹配。如此,映射时间表可被用来将与所发布的更新文件相关联的URL或网页地址转录成手动地文档标识符。这一文档标识符连同经修改内容的相对位置可以与来自更新文件205的信息一起被用来更新存储器内索引。
在各实施方式中,在从标识符解译出经更改内容225的网页地址或URL后,更新过程还可包括利用该网页地址或URL来从修改240的相对位置导出该经更改内容在所监视的文档集合内的绝对位置。可以至少临时地将修改240的这一绝对位置(在该组文档内的全局位置)保存到存储器内索引。在其他实施方式中,将数据保存到存储器内索引可以包括将更新文件205所传送的修改240作为经更新的内容、项或元数据加上该内容、项或元数据的绝对位置一起输入到存储器内索引。
存储器内索引的格式基本上可类似于倒排索引的格式。然而,该存储器内索引格式只是使用已改变的那些项的各方面(增量信息)来填充的。在一种情况下,利用更新文件205填充到存储器内索引的格式中的项的各方面包括经更改文档225的标识、修改240的特性(例如,新的底层元数据)、以及修改240发生在文档225内的什么位置(例如,相对位置)。虽然利用与修改240相关联的具体数据集(例如,更新文件205)来创建存储器内索引的条目,如以上在示例性实施方式中讨论的,但相关领域普通技术人员可以明白和理解,可以使用描述并定位对数据存储225的内容的修改240的其他数据集。
参考图3,现在将讨论更新过程305的一实施方式。一般而言,图3描绘示出了用于执行根据本发明的一实施方式的更新过程305的示例性计算设备245的框图300。应当理解,本文描述的这一安排以及其他安排只是作为示例来阐明的。其他安排和元素(例如,机器、接口、功能、次序、以及功能编组)可以作为所示出的这些安排和元素的补充或替换,并且一些元素可以一起省略。此外,本文描述的元素中的许多是可被实现为分立或分布式组件,或者结合其他组件一起实现并且以任何合适的组合且在任何合适的位置实现的功能实体。本文描述的由一个或多个实体执行的各种功能可以通过硬件、固件和/或软件来实现。例如,各种功能可以由执行存储在存储器中的指令的处理器来实现。
如图所示,存储器内索引管理器210利用存储在计算机设备245上的映射信息335和从所发布的更新文件205提取的信息来得到经更新的存储器内索引330。更新过程305可以在从发布组件275接收到更新文件205时实时地实现、以循环时间帧来实现,或以任何其他预定义时间段来实现。经更新的存储器内索引330可被提交给索引文件管理器260。在接收到经更新的存储器内索引330后,索引文件管理器260可以执行关联过程310,关联过程310一般被设计成将经更新的存储器内索引330与已有倒排索引编组在一起以用于搜索目的。
在各实施方式中,如上所述,在只将诸如经更新的元数据等对与倒排索引340相关联的文档集合的最新近修改应用于经更新的存储器内索引330后,生成经更新的存储器内索引330。因为并未替换整个倒排索引340,并且因为只将经更新的信息存储在经更新的存储器内索引330中,而经更新的信息在许多情况下可以是整个倒排索引340的非常小的一部分,所以更新过程305是保存处理时间和资源的智能操作。通过利用分布在若干计算机设备245之间的映射信息335,对文档的元数据的改变的通知可被快速地发布给若干计算机设备245,而无需处理元数据更新来确定负责提供与该更新相关联的数据的计算机设备245。在一个实施方式中,计算机设备245可以从所发布的更新文件205过滤相关信息。如此,通过在不进行大量的预发布处理的情况下向大量机器分发更新文件,将实现用于在倒排索引中反映经更新的元数据的更快的周转时间。
因此,除了更频繁地将经更新的存储器内索引330与倒排索引340进行关联之外,本发明的各实施方式的更新过程305可被更频繁地调用。利用经更新的存储器内索引330配合倒排索引340,从而提供响应于并且反映对与倒排索引340相关联的文档集合的改变的最新的经更新的搜索索引。
这一示例性实现中,更新过程305可被配置成使用相关联的文档标识和相关联的数据(诸如元词语值和该元词语的位置),来更新经更新的存储器内索引330中的对应的元词语。在这一实现中,如上所述,特定元词语可能位于需要通过使用位置信息来更新的经更新的存储器内索引330内。更新过程305可以递归地定位具有相关联的经更新的信息的每一元词语。在其他情况下,更新过程可包括生成包含经更新的元词语的新存储器内索引,并移除指向旧存储器内索引的指针。如此,经更新的存储器内索引330与倒排索引340的关联过程310将包括新生成的存储器内索引330而不包括旧存储器内索引。如此,本发明的各实施方式不用新信息替换整个倒排索引340,而是可以通过生成经更新的存储器内索引330来一次更新任何数量的元词语。例如,可以在存储器内索引330中更新一个元词语,同时倒排索引340中的其他信息可以不改变。
回到图2,在各实施方式中,索引文件管理器260被设计成以规则的间隔(例如,每小时、每天、每星期等),或在更新文件管理器260知道经更新的存储器内索引330时,实时地实现关联过程310。在各实施方式中,索引文件管理器260被设计成,在接收到与存储器内索引的数据相关的搜索查询时,实现倒排索引与经更新的存储器内索引的关联。如此,应当理解,更新过程和关联过程可以在实现中相链接,或可被独立地触发。在完成更新过程之后,创建经更新的存储器内索引330。经更新的存储器内索引330可被传达给不同地位于整个数据中心280的其他存储器内索引管理器210。数据中心280中的这些位置可以与各行机器相对应,其中每一行机器具有倒排索引的完整副本。
在各实施方式中,在接收到所发布的更新文件205时,存储器内索引管理器210被提供给多个计算设备245中的一个或多个内的存储器内索引330。在各实施方式中,存储器内索引管理器210被安装在多个计算设备245(例如:各行机器)中的至少一个上。在各实施方式中,存储器内索引管理器210被配置成通过在替换存储器内索引的各部分时保持ISM在线来保存计算设备245的web搜索功能。在各实施方式中,维护用持续传入的元数据更新来进行更新的额外存储器内索引。换言之,计算机设备245可以维护两个存储器内索引。在使用传入更新来更新经更新的存储器内索引时,已有存储器内索引被用来响应于用户查询来提供数据。伴随着关联过程310,经更新的存储器内索引周期性地替换配合倒排索引被提供的已有存储器内索引。即,如本文所描述的,进行更新过程允许频繁修改存储器内索引而无需使服务机器离线。如此,用户将在数分钟内看到对与倒排索引所覆盖的内容相关联的元数据(例如,产品的价格、折扣)的更新。在更新过程的另一实施方式中,经更新的存储器内索引被加载在已有倒排索引旁边。在各实施方式中,在用户发起的搜索期间,经更新的存储器内索引优先于已有倒排索引。
如本文所使用的,短语“倒排索引”不被解释为限制性的,并且可涵盖可以用查询来进行搜索并一般可被用来发现在某一方面与该查询相关的内容的项安排。在一种情况下,倒排索引被组织成在接收到来自用户的查询时可被搜索以寻找所监视的文档集合内的内容的索引。在这种情况下,与书籍的索引类似,倒排索引列出接收到的每一元词语。对于接收到的每一元词语,倒排索引可以列出与元词语相关联的每一文档标识。除列出每一相关联的文档标识之外,还可列出每一元词语的相关联的数据。
参考图3,在获取了经更新的存储器内索引330之后,可以按该次序来与倒排索引340相关联地利用经更新的存储器内索引330来高效地搜索倒排索引340的范围内的文档集合以寻找内容。即,对该组文档的最近改变被方便地合并到经更新的存储器内索引330中。因此,用户经由搜索引擎350发起的在线搜索一般将产生当前搜索结果(例如,与销售物品相关联的最近价格值),搜索引擎350可在操作上耦合到经更新的存储器内索引330和倒排索引340。在在线搜索的一个实施方式中,搜索引擎350会将对文档中的一个或多个中包含的特定信息的查询325传递到经更新的存储器内索引330,随后传递到倒排索引340,其中倒排索引340进而提供反映经更新的元数据的搜索结果320。
经更新的存储器内索引的大小可通过周期性地(例如,每小时、每天、每星期等)重构主倒排索引340来进行控制。作为示例,与计算设备245相关联的倒排索引340可以通过执行倒排索引340的每天索引归并来重新生成,这可包括重新爬行倒排索引所覆盖的文档。在重构主倒排索引时,存储器内索引330的累积更新可因为对与倒排索引340相关联的文档的改变而被重新处理。在存储器内索引的这一重构期间,较旧元数据更新数据可被丢弃并且存储器内索引大小可以减小。
现在参考图4,提供了示出根据本发明的一实施方式的用于更新存储器内索引的方法400的流程图。一开始,如在框410所示,出于存储器索引更新目的,接收更新文件作为输入。更新文件可以经由文件云来从网站管理员接收。更新文件可被表示为具有密钥/数据文件格式。密钥文件可以是具有URL和偏移的文本文件。偏移可包括特定URL的数据在数据文件中的偏移。更新文件还可包括具有头部的包装器文件,该头部封装有密钥和数据文件两者。更新文件的包装文件的头部可包含与该更新(例如,元词、元流)相关联的源内容的元数据。如在框420所示,将更新文件发布给位于一个或多个ISM上的存储器内索引管理器。如在框430所示,对于发布给存储器内索引管理器的每一更新文件,确定接收该更新文件的ISM设备是否包含与该更新文件相对应的映射数据。确定映射信息是否与更新文件相对应可以基于更新文件的头部与ISM机器上的映射数据之间的比较。映射数据可以是包含已查看URL(seenURL)块的索引对象的形式,其中已查看URL块包括特定URL到唯一文档标识符的映射。该文档标识符可被用来确定文档在倒排索引中的真实位置。如在框440所示,从更新文件提取与更新文件相关联的标识符以及对与倒排索引相关联的文档的修改的底层的元数据的表示。如上所述,标识符可包括URL。另外,如在框450所示,可通过将更新文件与包含已查看URL块的索引对象进行联合来获取经修改内容的相对位置。在框460,可以使用更新文件、文档标识符,以及经修改内容的相对位置,来更新存储器内索引。更新存储器内索引可包括将更新文件的修改底层的元数据的表示(例如,URL、时间戳、数据)和文档标识映射信息转换成与倒排索引类似的格式。
现在参考图5,提供了示出根据本发明的一实施方式的用于使用倒排索引和更新存储器内索引来提供搜索结果的方法500的流程图。如在框510所示,接收用户查询作为输入。该用户查询可以是对与倒排索引相关联的文档中的一个或多个中包含的特定信息的查询。如在框520所示,响应于该用户查询,从倒排索引中提取响应于该用户查询的主搜索结果。如在框530所示,作出关于与倒排索引相关联的存储器内索引是否包含响应于用户查询的次查询结果的判定。从存储器内索引获得的次查询结果包含对倒排索引所覆盖的文档的内容底层的元数据的最新更新。如上所述,可以更新存储器内索引。
如果在框540确定存储器内索引确实包含响应于用户查询的查询结果,则如在框550所示,从存储器内索引提取次查询结果。如在框560所示,归并分别来自存储器内索引和倒排索引的次和主查询结果。在该实施方式中,因为次查询结果包含对被搜索文档的底层的元数据的最新更新,在次和主查询结果重叠的情况下,来自存储器内索引的次查询结果优先于来自倒排索引的主查询结果。例如,次查询结果可以对应于主查询结果中的产品的经更新的价格。因此,次查询结果中的经更新的价格而非来自主查询结果的过期价格被用于归并数据中。如在框570所示,将响应于用户查询的查询结果的已归并集合呈现给用户。
如果在框540确定存储器内索引不包含响应于用户查询的查询结果,则如在框570所示,呈现来自倒排索引的主查询结果。
现在参考图6,提供了示出根据本发明的一实施方式的用于使用倒排索引和更新存储器内索引来提供搜索结果的另外方法600的流程图。如在框610所示,接收用户查询作为输入。可将用户查询并行地发送到主倒排索引和存储器内索引。如在框620所示,响应于该用户查询,从倒排索引中提取响应于该用户查询的主搜索结果。如在框630所示,从存储器内索引提取响应于用户查询的次搜索结果。如在框640所示,作出关于来自主倒排索引和存储器内索引的搜索结果是否重叠的判定。
如果在框640确定来自主倒排索引的主搜索结果和来自存储器内索引的次搜索结果重叠或相交,则如在框650所示,来自存储器内索引的次结果取代来自主倒排索引的主搜索结果。在该实施方式中,因为次查询结果包含对被搜索文档的底层的元数据的最新更新,在次和主查询结果重叠的情况下,来自存储器内索引的次查询结果优先于来自倒排索引的主查询结果。如在框660所示,将响应于用户查询的查询结果集合呈现给用户。
如果在框640确定来自主倒排索引的主搜索结果和来自存储器内索引的次搜索结果重叠或相交,则如在框660所示,呈现响应于用户查询的查询结果集合。响应于用户查询的查询结果集合可只包含来自倒排索引的主查询结果。如可理解的,本发明的各实施方式提供用于更新存储器内索引的系统和方法。参考各具体实施方式描述了本发明,各具体实施方式在所有方面都旨在是说明性的而非限制性的。不偏离本发明范围的情况下,各替换实施方式对于本发明所属领域的技术人员将变得显而易见。
从前面的描述可以看出,本发明很好地适用于实现上文所阐述的所有目的和目标,并且具有对于该系统和方法是显而易见且固有的其他优点。也可理解特定的特征和子组合是有用的,并且可以加以利用而无需参考其他特征和子组合。这由权利要求所构想的,并在权利要求的范围内。

Claims (20)

1.一个或多个存储计算机可使用指令的计算机存储介质,当所述指令由一个或多个计算设备执行时,使得所述一个或多个计算设备执行一种方法,所述方法包括:
接收更新文件,其中所述更新文件提供已经发生了对与倒排索引相关联的一个或多个文档的内容的修改的指示;以及
将所述更新文件发布给位于多个索引服务设备上的存储器内索引管理器,其中所述存储器内索引管理器被配置成启动将所述更新文件应用于主存储器内索引的更新过程;
其中所述更新过程包括:
对于发布给所述存储器内索引管理器的每一更新文件,确定所述多个索引服务设备中的每一索引服务设备是否包含与所述更新文件相对应的映射数据;
对于包含与所述更新文件相对应的映射数据的每一索引服务设备,从所述更新文件提取与经修改的内容相关联的一个或多个文档的文档标识符;
对于包含与所述更新文件相对应的映射数据的每一索引服务设备,利用索引对象来查明经修改的内容的位置,所述索引对象维护与所述倒排索引相关联的一个或多个文档之一的内容的位置的结构化记录;以及
利用所述更新文件、所述文档标识符,以及所述经修改内容的位置,来更新所述主存储器内索引,其中所述主存储器内索引被用来响应于一个或多个用户查询提供查询结果集合。
2.如权利要求1所述的一个或多个计算机存储介质,其特征在于,所发生的对所述一个或多个文档的内容的修改包括管理员发起的对在线发布的网页内的至少一个项的改变。
3.如权利要求2所述的一个或多个计算机存储介质,其特征在于,所述更新过程还包括确定所述至少一个经修改的项在所发布的网页的内容中的位置。
4.如权利要求1所述的一个或多个计算机存储介质,其特征在于,所述更新过程还包括:
生成元数据更新,其中所述元数据更新包括所述经修改的内容底层的元数据的表示。
5.如权利要求4所述的一个或多个计算机存储介质,其特征在于,所述更新过程还包括:
将所述元数据更新存储在次存储器内索引中,其中使用元数据更新来持续地更改所述次存储器内索引。
6.如权利要求5所述的一个或多个计算机存储介质,其特征在于,所述更新过程还包括:
通过用所述次存储器内索引来周期性地替换所述主存储器内索引,来以在线方式更新所述主存储器内索引,以生成经更新的主存储器内索引。
7.如权利要求6所述的一个或多个计算机存储介质,其特征在于,所述索引服务机器利用来自所述经更新的主存储器内索引和所述倒排索引的结果,来响应于一个或多个用户查询提供查询结果集合。
8.如权利要求1所述的一个或多个计算机存储介质,其特征在于,所述存储器内索引管理器被配置成以预定周期性时间帧来启动所述更新过程。
9.如权利要求1所述的一个或多个计算机存储介质,其特征在于,所述存储器内索引管理器被配置成实时地启动所述更新过程。
10.一种用于执行在线更新过程的计算机系统,所述计算机系统包括耦合到计算机存储介质的处理单元,所述计算机存储介质上存储有可由所述处理单元执行的多个计算机软件组件,所述计算机软件组件包括:
接收组件,用于接收更新文件,其中所述更新文件提供已经发生了对与倒排索引相关联的一个或多个文档的内容的修改的指示;
发布组件,用于将所述更新文件推送到位于多个索引服务设备上的一个或多个存储器内索引管理器,所述多个索引服务设备中的每一个包括用于确定每一索引服务设备是否包含与所发布的更新文件相对应的映射数据的过滤组件;
每一存储器内索引管理器被配置成启动对对应存储器内索引的更新过程,其中所述存储器内索引维护对与倒排索引相关联的一个或多个文档的修改的记录;以及
索引文件管理器,利用来自所述存储器内索引和所述倒排索引两者的查询结果来响应于用户查询提供查询结果集合,其中所述索引文件管理器将来自所述存储器内索引和所述倒排索引的查询结果进行归并,以生成响应于所述用户查询而提供的所述查询结果集合。
11.如权利要求10所述的计算机系统,其特征在于,所述计算机软件组件还包括在执行以下过程时表达所述修改的指示的网络爬行器:
爬行预定范围的网站内的一个或多个文档;以及
检测对所述一个或多个文档的内容的底层的元数据的调整。
12.如权利要求10所述的计算机系统,其特征在于,如果索引服务设备包含与所发布的更新文件相对应的映射数据,则所述索引服务设备的存储器内索引管理器被配置成启动更新过程,其中所述更新过程包括:
对于发布给所述存储器内索引管理器的每一更新文件,提取与所述经修改的内容相关联的一个或多个文档的标识符;
对于发布给所述存储器内索引管理器的每一更新文件,利用索引对象来查明所述经修改的内容的位置,其中所述索引对象维护与所述倒排索引相关联的一个或多个文档之一的位置的结构化记录;以及
利用所述更新文件、与所述经修改的内容相关联的一个或多个文档的标识符,以及所述经修改的内容的位置,来更新所述存储器内索引。
13.如权利要求12所述的计算机系统,其特征在于,所述更新过程还包括:
在从所述发布组件接收到所述更新文件时,参考驻留在所述索引服务设备上的映射时间表;以及
利用所述映射时间表来将所述一个或多个文档的标识符转换成网页地址。
14.如权利要求10所述的计算机系统,其特征在于,所述索引文件管理器还被配置成使来自所述存储器内索引的查询结果优先于来自所述倒排索引的对应查询结果。
15.如权利要求13所述的计算机系统,其特征在于,所述存储器内索引管理器还被配置成基于与所述一个或多个文档相关联的统一资源定位符URL来导出所述一个或多个文档的标识符,其中所述标识符是与倒排索引相关联的所监视的一组一个或多个文档内的文档的唯一描述。
16.如权利要求15所述的计算机系统,其特征在于,所述存储器内索引管理器被配置成以预定周期性时间帧来启动所述更新过程。
17.如权利要求15所述的计算机系统,其特征在于,所述存储器内索引管理器被配置成实时地启动所述更新过程。
18.一个或多个存储计算机可使用指令的计算机存储介质,当该指令由一个或多个计算设备执行时使得所述一个或多个计算设备执行一种方法,所述方法包括:
接收用户查询;
响应于所述用户查询从倒排索引提取主查询结果,所述倒排索引位于多个索引服务设备上,其中所述倒排索引是通过爬行预定范围的网站内的所监视的一组文档来更新的;
响应于所述用户查询确定与所述多个索引服务设备相关联的存储器内索引包含次查询结果,所述次查询结果包含对所述倒排索引所覆盖的一个或多个文档的内容底层的元数据的最新近更新,其中所述存储器内索引是由更新过程来更新的,所述更新过程包括:
接收更新文件,所述更新文件提供已经发生了对与所述倒排索引相关联的一个或多个文档的内容的修改的指示;
将所述更新文件发布给位于所述多个索引服务设备上的存储器内索引管理器;
对于发布给所述存储器内索引管理器的每一更新文件,确定所述多个索引服务设备中的每一索引服务设备是否包含与所述更新文件相对应的映射数据;
对于包含与所述更新文件相对应的映射数据的每一索引服务设备,从所述更新文件提取与经修改的内容相关联的一个或多个文档的文档标识符;
对于包含与所述更新文件相对应的映射数据的每一索引服务设备,利用索引对象来查明经修改的内容的位置,所述索引对象维护与所述倒排索引相关联的一个或多个文档之一的内容的位置的结构化记录;以及
利用所述更新文件、所述文档标识符,以及所述经修改的内容的相对位置,来更新所述存储器内索引;
从所述存储器内索引中提取所述次查询结果,并将所述主查询结果与所述次查询结果进行归并;以及
呈现响应于所述用户查询的查询结果集合。
19.如权利要求18所述的一个或多个计算机存储介质,其特征在于,所述存储器内索引更新过程还包括:
在接收到所发布的更新文件时参考驻留在所述多个索引服务设备上的映射时间表;以及
利用所述映射时间表来将所述一个或多个文档的文档标识符转换成网页地址。
20.如权利要求18所述的一个或多个计算机存储介质,其特征在于,将所述主查询结果与所述次查询结果进行归并包括使所述次查询结果优先于对应的主查询结果。
CN201110039898.XA 2010-02-12 2011-02-11 索引元数据的快速更新 Expired - Fee Related CN102163210B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/705,207 US8244700B2 (en) 2010-02-12 2010-02-12 Rapid update of index metadata
US12/705,207 2010-02-12

Publications (2)

Publication Number Publication Date
CN102163210A true CN102163210A (zh) 2011-08-24
CN102163210B CN102163210B (zh) 2015-11-25

Family

ID=44370365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110039898.XA Expired - Fee Related CN102163210B (zh) 2010-02-12 2011-02-11 索引元数据的快速更新

Country Status (2)

Country Link
US (1) US8244700B2 (zh)
CN (1) CN102163210B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385573A (zh) * 2011-10-26 2012-03-21 上海量明科技发展有限公司 文档内容名录与文档名称同步变更的方法及系统
CN103092894A (zh) * 2011-11-08 2013-05-08 阿里巴巴集团控股有限公司 一种结构化信息检索方法和系统
CN103294738A (zh) * 2012-02-29 2013-09-11 美国博通公司 用于多媒体流数据搜索和检索的系统和方法
CN104008089A (zh) * 2013-02-25 2014-08-27 国际商业机器公司 用于验证文档的方法和系统
CN103092894B (zh) * 2011-11-08 2016-12-14 阿里巴巴集团控股有限公司 一种结构化信息检索方法和系统
CN106709042A (zh) * 2016-12-30 2017-05-24 北京小度互娱科技有限公司 索引更新方法及设备
CN108604241A (zh) * 2015-10-28 2018-09-28 微软技术许可有限责任公司 搜索系统
CN108665335A (zh) * 2017-04-01 2018-10-16 北京京东尚科信息技术有限公司 处理购物网站的购物车数据的方法
CN111459372A (zh) * 2020-04-01 2020-07-28 海信视像科技股份有限公司 一种网络列表刷新显示方法及显示设备
CN111526430A (zh) * 2020-03-26 2020-08-11 王东 一种文件匹配方法、装置和电子设备
CN112334891A (zh) * 2018-06-22 2021-02-05 易享信息技术有限公司 用于搜索服务器的集中式存储
CN113448946A (zh) * 2021-07-05 2021-09-28 星辰天合(北京)数据科技有限公司 数据迁移方法及装置、电子设备
CN114416670A (zh) * 2022-04-01 2022-04-29 天津联想协同科技有限公司 适用于网盘文档的索引创建方法、装置、网盘及存储介质

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101431303B1 (ko) * 2010-03-17 2014-08-21 엘에스산전 주식회사 인버터의 파라미터 통신 장치
US8527556B2 (en) * 2010-09-27 2013-09-03 Business Objects Software Limited Systems and methods to update a content store associated with a search index
US8412701B2 (en) * 2010-09-27 2013-04-02 Computer Associates Think, Inc. Multi-dataset global index
US8667456B1 (en) * 2011-04-20 2014-03-04 Google Inc. Cloud-based indexing for integrated development environments
WO2012119407A1 (zh) * 2011-08-23 2012-09-13 华为技术有限公司 文档更新方法和装置
US8983947B2 (en) * 2011-09-30 2015-03-17 Jive Software, Inc. Augmenting search with association information
US9390131B1 (en) * 2012-02-05 2016-07-12 Google Inc. Executing queries subject to different consistency requirements
CN103246679A (zh) * 2012-02-13 2013-08-14 刘龙 一种实现基于位置的搜索的系统和方法
US9721000B2 (en) 2012-12-20 2017-08-01 Microsoft Technology Licensing, Llc Generating and using a customized index
US10977229B2 (en) * 2013-05-21 2021-04-13 Facebook, Inc. Database sharding with update layer
US10983973B2 (en) 2013-05-21 2021-04-20 Facebook, Inc. Database sharding with incorporated updates
KR101416261B1 (ko) 2013-05-22 2014-07-09 연세대학교 산학협력단 플래시 ssd의 역 인덱스 업데이트 방법
US9189517B2 (en) * 2013-10-02 2015-11-17 Microsoft Technology Licensing, Llc Integrating search with application analysis
US9400817B2 (en) 2013-12-31 2016-07-26 Sybase, Inc. In-place index repair
US9984110B2 (en) 2014-08-21 2018-05-29 Dropbox, Inc. Multi-user search system with methodology for personalized search query autocomplete
CN105447040B (zh) * 2014-08-29 2020-02-07 阿里巴巴集团控股有限公司 二进制文件管理、更新方法、装置以及系统
US9588977B1 (en) * 2014-09-30 2017-03-07 EMC IP Holding Company LLC Data and metadata structures for use in tiering data to cloud storage
CN105740303B (zh) 2014-12-12 2019-09-06 国际商业机器公司 改进的对象存储的方法及装置
US9183303B1 (en) 2015-01-30 2015-11-10 Dropbox, Inc. Personal content item searching system and method
US9384226B1 (en) 2015-01-30 2016-07-05 Dropbox, Inc. Personal content item searching system and method
US10402400B2 (en) 2015-06-25 2019-09-03 International Business Machines Corporation Distributed processing of a search query with distributed posting lists
US10713305B1 (en) * 2016-09-29 2020-07-14 EMC IP Holding Company LLC Method and system for document search in structured document repositories
US10599726B2 (en) * 2017-04-19 2020-03-24 A9.Com, Inc. Methods and systems for real-time updating of encoded search indexes
US10866926B2 (en) 2017-12-08 2020-12-15 Dropbox, Inc. Hybrid search interface
US11934370B1 (en) * 2017-12-11 2024-03-19 Amazon Technologies, Inc. Data store indexing engine with automated refresh
US11157477B2 (en) * 2018-11-28 2021-10-26 International Business Machines Corporation Handling queries in document systems using segment differential based document text-index modelling
US11573937B2 (en) 2020-10-09 2023-02-07 Bank Of America Corporation System and method for automatically resolving metadata structure discrepancies
CN112506964B (zh) * 2020-11-30 2024-05-28 深圳市移卡科技有限公司 数据查询方法、系统及计算机可读存储介质
CN112835980B (zh) * 2021-02-05 2024-04-16 北京字跳网络技术有限公司 索引重建方法、装置、设备、计算机可读存储介质及产品
CN113778638A (zh) * 2021-03-03 2021-12-10 北京沃东天骏信息技术有限公司 数据获取方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1292371C (zh) * 2003-04-11 2006-12-27 国际商业机器公司 倒排索引存储方法、倒排索引机制以及在线更新的方法
CN101136016A (zh) * 2006-09-01 2008-03-05 北大方正集团有限公司 一种全文检索系统的索引在线更新方法
US20090299962A1 (en) * 2008-05-28 2009-12-03 Microsoft Corporation Dynamic update of a web index

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920854A (en) * 1996-08-14 1999-07-06 Infoseek Corporation Real-time document collection search engine with phrase indexing
US6366907B1 (en) * 1999-12-15 2002-04-02 Napster, Inc. Real-time search engine
US7080064B2 (en) * 2000-01-20 2006-07-18 International Business Machines Corporation System and method for integrating on-line user ratings of businesses with search engines
US6931397B1 (en) * 2000-02-11 2005-08-16 International Business Machines Corporation System and method for automatic generation of dynamic search abstracts contain metadata by crawler
US6990498B2 (en) * 2001-06-15 2006-01-24 Sony Corporation Dynamic graphical index of website content
US20040088649A1 (en) * 2002-10-31 2004-05-06 International Business Machines Corporation System and method for finding the recency of an information aggregate
US7299404B2 (en) * 2003-05-06 2007-11-20 International Business Machines Corporation Dynamic maintenance of web indices using landmarks
US20060106793A1 (en) * 2003-12-29 2006-05-18 Ping Liang Internet and computer information retrieval and mining with intelligent conceptual filtering, visualization and automation
US7693825B2 (en) * 2004-03-31 2010-04-06 Google Inc. Systems and methods for ranking implicit search results
KR20070101217A (ko) * 2004-09-16 2007-10-16 텔레노어 아사 개인 웹에서의 문서의 검색, 항행, 및 순위 부여를 위한방법, 시스템, 컴퓨터 프로그램 제품
US7469257B2 (en) * 2005-09-08 2008-12-23 Microsoft Corporation Generating and monitoring a multimedia database
CN100458779C (zh) * 2005-11-29 2009-02-04 国际商业机器公司 扩展索引的方法
US8380721B2 (en) * 2006-01-18 2013-02-19 Netseer, Inc. System and method for context-based knowledge search, tagging, collaboration, management, and advertisement
US8326686B2 (en) * 2006-03-30 2012-12-04 Google Inc. Automatically generating ads and ad-serving index
US20080010238A1 (en) * 2006-07-07 2008-01-10 Microsoft Corporation Index having short-term portion and long-term portion
US7424471B2 (en) * 2007-01-08 2008-09-09 Lsr Technologies System for searching network accessible data sets
US8117198B2 (en) * 2007-12-12 2012-02-14 Decho Corporation Methods for generating search engine index enhanced with task-related metadata
NO327653B1 (no) * 2007-12-20 2009-09-07 Fast Search & Transfer As Fremgangsmate for dynamisk oppdatering av en indeks og en sokemotor som implementerer samme
US20090210389A1 (en) * 2008-02-20 2009-08-20 Microsoft Corporation System to support structured search over metadata on a web index
US20100241647A1 (en) * 2009-03-23 2010-09-23 Microsoft Corporation Context-Aware Query Recommendations
US20110004588A1 (en) * 2009-05-11 2011-01-06 iMedix Inc. Method for enhancing the performance of a medical search engine based on semantic analysis and user feedback
US8527496B2 (en) * 2010-02-11 2013-09-03 Facebook, Inc. Real time content searching in social network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1292371C (zh) * 2003-04-11 2006-12-27 国际商业机器公司 倒排索引存储方法、倒排索引机制以及在线更新的方法
CN101136016A (zh) * 2006-09-01 2008-03-05 北大方正集团有限公司 一种全文检索系统的索引在线更新方法
US20090299962A1 (en) * 2008-05-28 2009-12-03 Microsoft Corporation Dynamic update of a web index

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ZHIQIANG WANG等: "An Index Design in Topic-focused Search Engine", 《INTERNATIONAL CONFERENCE ON NETWORKING, SENSING AND CONTROL》 *
王智强等: "一种实时更新索引结构的设计与实现", 《计算机系统应用》 *
郭琦娟等: "一种动态更新索引结构的设计与实现", 《计算机系统应用》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385573A (zh) * 2011-10-26 2012-03-21 上海量明科技发展有限公司 文档内容名录与文档名称同步变更的方法及系统
CN103092894A (zh) * 2011-11-08 2013-05-08 阿里巴巴集团控股有限公司 一种结构化信息检索方法和系统
CN103092894B (zh) * 2011-11-08 2016-12-14 阿里巴巴集团控股有限公司 一种结构化信息检索方法和系统
CN103294738A (zh) * 2012-02-29 2013-09-11 美国博通公司 用于多媒体流数据搜索和检索的系统和方法
CN104008089A (zh) * 2013-02-25 2014-08-27 国际商业机器公司 用于验证文档的方法和系统
US9436684B2 (en) 2013-02-25 2016-09-06 International Business Machines Corporation Content validation for documentation topics using provider information
CN104008089B (zh) * 2013-02-25 2017-03-01 国际商业机器公司 用于验证文档的方法和系统
CN108604241A (zh) * 2015-10-28 2018-09-28 微软技术许可有限责任公司 搜索系统
CN106709042A (zh) * 2016-12-30 2017-05-24 北京小度互娱科技有限公司 索引更新方法及设备
CN106709042B (zh) * 2016-12-30 2020-09-25 北京小度互娱科技有限公司 索引更新方法及设备
CN108665335A (zh) * 2017-04-01 2018-10-16 北京京东尚科信息技术有限公司 处理购物网站的购物车数据的方法
CN112334891A (zh) * 2018-06-22 2021-02-05 易享信息技术有限公司 用于搜索服务器的集中式存储
CN112334891B (zh) * 2018-06-22 2023-10-17 硕动力公司 用于搜索服务器的集中式存储
CN111526430A (zh) * 2020-03-26 2020-08-11 王东 一种文件匹配方法、装置和电子设备
CN111459372A (zh) * 2020-04-01 2020-07-28 海信视像科技股份有限公司 一种网络列表刷新显示方法及显示设备
CN113448946A (zh) * 2021-07-05 2021-09-28 星辰天合(北京)数据科技有限公司 数据迁移方法及装置、电子设备
CN113448946B (zh) * 2021-07-05 2024-01-12 北京星辰天合科技股份有限公司 数据迁移方法及装置、电子设备
CN114416670A (zh) * 2022-04-01 2022-04-29 天津联想协同科技有限公司 适用于网盘文档的索引创建方法、装置、网盘及存储介质
CN114416670B (zh) * 2022-04-01 2022-07-26 天津联想协同科技有限公司 适用于网盘文档的索引创建方法、装置、网盘及存储介质

Also Published As

Publication number Publication date
US8244700B2 (en) 2012-08-14
CN102163210B (zh) 2015-11-25
US20110202541A1 (en) 2011-08-18

Similar Documents

Publication Publication Date Title
CN102163210B (zh) 索引元数据的快速更新
US8082258B2 (en) Updating an inverted index in a real time fashion
US8244701B2 (en) Using behavior data to quickly improve search ranking
US20180276304A1 (en) Advanced computer implementation for crawling and/or detecting related electronically catalogued data using improved metadata processing
CN101689182B (zh) 用于分布式文件系统的高效更新
CN109669925B (zh) 非结构化数据的管理方法及装置
CN101183379A (zh) 用于检索数据的方法和系统
CN108388604A (zh) 用户权限数据管理装置、方法及计算机可读存储介质
EP3178013A2 (en) Knowledge automation system
CN102541968A (zh) 一种索引方法
CN102567434A (zh) 一种数据块处理方法
CN104468189B (zh) 一种针对不同客户版本自动升级bios的方法
US20130283137A1 (en) Snapshot Refreshment for Search Results Page Preview
CN103473326A (zh) 一种提供搜索建议的方法和装置
CN102567415B (zh) 一种数据库的控制方法和装置
CN109840254A (zh) 一种数据虚拟化及查询方法、装置
CN110058923A (zh) 一种基于动态预取策略的Docker容器COW机制优化方法及系统
CN115803725A (zh) 存档仅限加速器的数据库表
KR100858157B1 (ko) 맵 업데이트 시스템 및 방법, 방법 프로그램을 기록한저장매체, 사용자 단말기
CN102937975A (zh) 一种网页搜索设备和方法
CN102375881B (zh) 内容签名通知
CN1758251B (zh) 静态和动态数据集的交互
US20060143242A1 (en) Content management device
CN1983199A (zh) 一种实现计算机死机智能分析的系统及方法
US20110131229A1 (en) Query generating apparatus,query generating method and database search system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150717

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150717

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

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: 20151125

Termination date: 20200211