CN100585590C - 具有分层存储的索引的搜索引擎 - Google Patents

具有分层存储的索引的搜索引擎 Download PDF

Info

Publication number
CN100585590C
CN100585590C CN200480033085A CN200480033085A CN100585590C CN 100585590 C CN100585590 C CN 100585590C CN 200480033085 A CN200480033085 A CN 200480033085A CN 200480033085 A CN200480033085 A CN 200480033085A CN 100585590 C CN100585590 C CN 100585590C
Authority
CN
China
Prior art keywords
search
data item
index
database
search node
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.)
Expired - Fee Related
Application number
CN200480033085A
Other languages
English (en)
Other versions
CN101189602A (zh
Inventor
克努特·玛格纳·里斯维克
耶格威·阿舍米
托尔·埃格
哈瓦德·派特森
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.)
Altaba Inc
Original Assignee
Yahoo Inc
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 Yahoo Inc filed Critical Yahoo Inc
Publication of CN101189602A publication Critical patent/CN101189602A/zh
Application granted granted Critical
Publication of CN100585590C publication Critical patent/CN100585590C/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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting

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)

Abstract

一种搜索引擎,其包括搜索WWW并且将在WWW上找到的网页存储在数据库(100)中的采集器(102)。索引器(105)将数据库中的网页编入索引以产生主索引。文档映射部件(114)基于网页的等级将数据库中的网页映射到多个分层中。等级可以基于网页中具有较高价值的上下文。处理器基于上述映射从主索引中产生多个子索引。子索引被存储在搜索节点组(160)中。该组是在逻辑上被排列成多个行和列的搜索节点矩阵。同一列中的搜索节点包括相同的子索引。同一行中的搜索节点包括不同的子索引。从用户(112)那接收到的搜索查询被发送到调度器(110),调度器又将查询转发给第一层的搜索节点。公开了滑落算法,其指示调度器何时应当将搜索查询转发给搜索节点的其它层。

Description

具有分层存储的索引的搜索引擎
技术领域
本发明涉及搜索引擎,更具体地涉及将搜集到(crawled)的文档映射到多个分层中,然后按照分级方式搜索那些分层的搜索引擎。
背景技术
万维网(“WWW”)是包括可以经互联网访问的数十亿个网页的分布式数据库。搜索和索引这些网页以产生响应于用户查询的有用结果一直都是个难题。通常用于搜索WWW的设备是搜索引擎。维护有效的搜索引擎是很困难的,因为WWW是在不断地变化的,每天有数百万个网页被添加,而且现有网页也在连续不断地变化。此外,执行搜索的成本通常直接对应于被搜索的索引的大小。为了处理WWW中的大量数据,大多数搜索引擎都是分布式的并且使用复制和分割技术(下面会进行讨论)以缩减文档的数量。
图1中示出了典型的现有技术的搜索引擎50。利用采集器102访问来自互联网或其它源100的网页。采集器102集合来自源100的文档以确保这些文档可被搜索。有很多用于采集器的算法,并且在大多数情况下,这些采集器顺着已知的超文本文档中的链接来获得其它文档。采集器120所获取的网页被存储在数据库108中。之后,索引器104为这些文档建立索引。索引器104为数据库108中的文档建立可搜索的索引。用于建立索引的典型的现有技术方法包括倒排文件、向量空间、后缀结构及这些方法的混合。例如,每个web网页可以被分解成网页上的词和每个词各自的位置。然后利用这些词和它们各自的位置来为网页建立索引。然后将整个数据库108的主索引分解成多个子索引(下面将讨论)并且将每个子索引发送给搜索节点组106中的搜索节点。
在使用中,用户112将搜索查询输入到调度器110。调度器110应允组106中的一列搜索节点执行查询并且将查询转发给那些被选择的搜索节点。被应允的一列搜索节点要确保每个分区都被搜索一遍。搜索节点组106中的搜索节点搜索由索引器104所产生的主索引中的各个部分并且将分类后的搜索结果与文档标识符和分数一起返回给调度器110。调度器110合并接收到的结果以产生显示给用户112的按相关分数分类的最终的列表。相关分数是查询本身和所产生的文档类型的函数。用于相关的因素包括:诸如链接基数(cardinality)和网页性质之类的文档的静态相关分数;诸如标题、元数据和文档头部之类的文档的高级部分;诸如外部引用和引用“级别”之类的文档的权威性(authority);以及诸如文档中的查询词频、全局性词频以及文档内词的相对距离之类的文档统计信息。
现在参考图2,其示出了搜索节点组106。为了说明,用矩阵的形式示出了组106,其被集合在列122a、122b等和行124a、124b等中。在每个搜索节点列122中,为每个搜索节点复制同一套索引。例如,列122a行124a中的搜索节点与列122a行124b中的搜索节点包括同一套索引子集。在每个搜索节点行124中,使用不同的索引子集。索引被等分以拆分用于搜索的时间量。
例如,列122a行124a中的搜索节点包括与列122b行124a中的搜索节点不同的索引子集。在每个搜索节点中,“I”表示用于整个数据库108的索引,“S”对应于搜索节点,“Sn(In)”表示搜索节点n持有整个索引I的子索引n,并且“Sn m(In)”表示复制编号为m的搜索节点n持有整个索引I的子索引n。
来自调度器110的每个查询被发送给各个搜索节点以使得每个分区中的单个节点被查询。例如,行124a、124b等中的所有节点都被查询,因为这些节点的组合表示总索引。即组120中的每一行都是包括整个索引的所有分区的一组搜索节点。得到的结果被调度器110合并,生成来自该组的完整结果。通过按上述方式分割数据,数据量被缩减了。例如,如果有n列,则每个节点的搜索时间基本上被减少了n倍一除去调度器110用于合并结果的时间。
通过复制搜索节点,提高了每个索引的查询处理速度。在图2中,每一列的所有搜索节点都持有相同的索引。这使得调度器110在选择一组搜索节点来处理输入查询时可以在每个索引分区的列中的节点之间轮换。
但是,发明人已经确定在典型的搜索引擎中存在倾斜度非常大的搜索查询分布。例如,最上面的25个查询可以占到总查询量的1%。因此,将主索引等分成更小的子索引不能得到最佳结果。
因此,在本领域中需要能够考虑搜索查询的分布来组织其文档和索引的搜索引擎。
发明内容
一种搜索引擎,其包括搜索WWW并且将在WWW上找到的网页存储在数据库中的采集器。索引器将数据库中的网页编入索引以产生主索引。文档映射部件基于网页的等级将数据库中的网页映射到多个分层中。等级可以基于网页中具有较高价值的上下文。处理器基于上述映射从主索引中产生多个子索引。子索引被存储在搜索节点组中。该搜索节点组是在逻辑上被排列成多个行和列的搜索节点矩阵。同一列中的搜索节点包括相同的子索引。同一行中的搜索节点包括不同的子索引。从用户接收到的搜索查询被发送到调度器,调度器又将查询转发给第一层的搜索节点。公开了滑落(fall through)算法,其指示调度器何时应当将搜索查询转发给搜索节点的其它层。
本发明的一个方面是一种用于为数据库中的数据项建立索引的方法。该方法包括从数据库中获取数据项并产生数据项的主索引。该方法还包括基于数据项各自的等级将数据项映射到至少第一层和第二层上。该方法还包括基于上述映射从主索引中产生至少第一和第二子索引;以及将上述至少第一和第二子索引存储在不同的搜索节点中。
本发明的另一个方面是用于搜索数据库的方法。该方法包括从数据库中获取数据项并且产生数据项的主索引。该方法还包括基于数据项各自的等级将数据项映射到至少第一层和第二层上。该方法还包括基于上述映射从主索引中产生至少第一和第二子索引。该方法还包括将上述至少第一和第二子索引存储在不同的搜索节点中;接收搜索查询;以及搜索第一层寻找与搜索查询相关的结果数据项。
本发明的另一个方面是用于为数据库建立索引的系统。该系统包括搜集数据库以找到数据项的采集器。索引器接收数据项并且产生主索引。文档映射部件基于数据项各自的等级将数据项映射到至少第一和第二层上。处理器基于上述映射从主索引中产生至少第一和第二子索引。第一搜索节点存储第一子索引。第二搜索节点存储第二子索引。
本发明的另一方面是实现对数据库的搜索的搜索节点组。搜索节点组包括在逻辑上被排列在多个行和列中的搜索节点。任一列中的所有搜索节点实质上包括相同的信息。任一行中的所有搜索节点包括不同的信息。行中的搜索节点逻辑上被分为至少第一和第二层。第一层中的搜索节点包括对于数据库中的第一部分的索引。第二层中的搜索节点包括对于数据库中的第二部分的索引。第一和第二层中的数据分别基于数据库的第一和第二部分中的信息的等级。
本发明的另一个方面是一种包括搜集数据库以找到数据项的采集器的搜索引擎。索引器接收数据项并且产生主索引。文档映射部件基于数据项各自的等级将数据项映射到至少第一和第二层上。处理器基于上述映射从主索引中产生至少第一和第二子索引。第一搜索节点存储第一子索引。第二搜索节点存储第二子索引。调度器接收查询并且将查询转发给第一搜索节点。
附图说明
图1是示出了现有技术的搜索引擎结构的框图。
图2是示出了根据现有技术的一组节点的示图。
图3是示出了根据本发明实施例的搜索引擎的框图。
图4是示出了根据本发明的实施例将文档映射到分层中的功能的示图。
图5是示出了根据本发明的实施例将文档映射到分层和相应的一组节点中的示图。
图6是示出了根据本发明的实施例将文档映射到分层和相应的一组节点中的示图。
图7是示出了根据本发明的实施例将文档映射到分层和相应的一组节点中的示图。
图8是示出了根据本发明实施例的滑落算法的各个变量的值的表格。
图9是示出了根据本发明实施例的搜索算法的操作的流程图。
具体实施方式
参考图3,示出了根据本发明实施例的搜索引擎90。采集器102搜集例如互联网100之类的信息源或例如企业或机构的网络之类的其它文件或文档集,然后将数据存储在与信息源相对应的数据库108中。然后,文档映射算法114将文档映射到分层中,下面会讨论。由处理器111控制的索引器105基于数据库108中映射后的文档建立多个子索引。搜索节点组160中的多个搜索节点中的每一个都存储有各自的子索引并且能够搜索各自的子索引。调度器110将来自用户112的查询发送给搜索节点组160,下面会讨论。
最近的研究发现存在对互联网上最普遍的信息查询的倾斜分布。例如,大多数查询(50%-80%)在一百万个最经常被请求的查询之内。类似地,不同月份中的各天重复着80-85%的相同查询。相反,只有7%的查询在类似的时间段中仅被请求过一次。为了利用这些事实,搜索引擎使用不相交的分层结构,其中不必对索引进行等分。
现在参考图4,基于一组属性将数据库108中的每一条数据映射到多个分层(图中示出了三个分层)中的一层中。例如,被认为具有在由数据库管理者定义的第一阈值以上的与搜索查询无关的静态相关等级的文档可以被映射到第I层。具有基于另一阈值的第二高的等级的文档可以被映射到第II层。又如,每个文档或web网页中的多个部分可以被分到不同的分层中。在特定文档中,如图4所示,诸如头部和锚(anchor)之类的高级上下文可以置于第I层中而文档的主体可以置于第II层中。周期性地对数据库108中的数据执行映射。
现在参考图5,数据结构(未明确地示出)被存储在调度器110中以使得组160中的搜索节点在逻辑上被安排到特定的分层。在文档映射算法114将数据库108中的文档映射到分层中以后,索引器105基于上述分层产生多个相应的子索引。子索引被存储在组160中的各个搜索节点中。组160包括搜索节点的逻辑列162a、162b、162c等和逻辑行164a、164b等。虽然这些节点被示为物理上被布置为行和列,但是应当清楚这些节点在物理上不必如此布置,只要它们在逻辑上按类似的方式排列即可。
每一列162中的搜索节点包括对同一子索引的复制,因此调度器110可以循环经过多个搜索节点。每一行164中的搜索节点包括不同的子索引。例如,如图5中所示,列162a中的搜索节点都包括来自第I层的信息。因而,通过算法114确定要被映射到第I层的文档被映射到第I层,在索引器105中创建子索引并且针对第I层的子索引被存储在列162a中的搜索节点中。
类似地,列162b中的搜索节点包括在第II层中的一部分信息。列162c中的搜索节点包括来自第II层的没有包括在列162b中的搜索节点中的剩余信息。示出了第II层的两个搜索节点列,并且索引可以在这些节点之间等分。很显然可以使用任意数目的节点。
类似地,列162b中的搜索节点包括来自第III层的一部分信息。为了便于图示组160,每一列中的节点被示为具有相同的大小,但是很清楚每个节点可以包括与同一行中的其它节点相同或不同的信息量。例如,列162a行164a中的节点相比列162b行164a中的节点可能具有较少的信息,因为它们在不同的分层中。作为所示出的分层结构的示例,在所有第I层的节点中可以为150万个文档建立索引,在所有第二层的节点中可以为600万个文档建立索引,而在所有第三层的节点中可以为1000万个文档建立索引。
来自调度器110的每个查询首先在第一层的索引中被搜索,然后搜索基于存储在调度器110中的滑落算法(“FTA”)继续到其它分层的索引。FTA确定查询是否应当在其它分层中继续执行,并且还确定应当如何合并来自多个分层的结果。换一种说法,FTA基于诸如结果集合中的相关分数和索引项(hit)数之类的标准来确定一组分层中的查询路径。FTA还确定在考虑下一个分层之前每个分层有多少结果可以被使用。
FTA使用多个变量来确定是否应当考虑下一个分层,所述变量包括:hitlimit、percentlimit、ranklimit、termranklimit和minusablehits。变量hitlimit是对在执行向下一分层的滑落(fall-through)之前来自分层的要使用的索引项数的估计。例如,对于从第1层到第2层的跳变,hitlimit可以是1000,而对于从第2层到第3层的跳变,hitlimit可以是8100。Percentlimit是在执行向下一分层的滑落之前可被使用的来自分层的索引项的最大百分数。如果给定分层中的索引项数小于所有被请求的结果的percentlimit,则发生滑落。例如,对于从第1层到第2层的跳变,percentlimit可以是10,而对于从第2层到第3层的跳变,percentlimit可以是30。Termranklimit-如果正在被考虑的索引项的相关分数小于termranklimit的值乘以查询中的词数加上另一变量Ranklimit的结果,则执行向下一个分层的滑落。例如,对于从第1层到第2层的跳变,ranklimit可以是200并且termranklimit是400。例如,在两个词的查询中,通过上述标准的索引项的相关分数将是200+(2×400)=1000。对于从第2层到第3层的跳变,ranklimit可以是0并且termranklimit是0。
Minusablehits-对于给定分层为了不进行紧接着向下一分层滑落而应当通过上述FTA的标准的索引项数。这个数目通常是在结果网页上呈现给用户的结果数。其思想是如果已知为了产生最经常被请求的索引项数而需要滑落,则应当尽早进行滑落。这个变量应当使用常数值。例如,对于从第1层到第2层的跳变,minusablehits可以是0,而对于从第2层到第3层的跳变,minusablehits可以是100。
由于第2层仅处理经过了第1层的那些查询,并且第3层仅处理经过了第1层和第2层的查询,所以希望第I层具有最好性能的节点。第2和第3层中额外的容量可以通过复制列或者通过减少每个节点处的文档数来实现。
在图5的实施例中,使用了一维分层结构,其中使用静态相关分数分配所有的文档和相应的索引。例如,静态相关分数可以基于web上的链接基数、链接的受欢迎性或站点的受欢迎性。
例如,在有十亿个记录的数据库中,基于静态相关,最上面的3千万个文档被映射到第1层,接下来的3亿6千万个文档被映射到第2层,再接下来的6亿1千万个文档被映射到第3层。这种配置的一个缺点是使用静态相关仅仅是用于确定相关文档的全部方案的一部分。
现在参考图6,示出了根据本发明的另一组节点170。组170可以用来替换组160并且包括在列172a、172b等和行174a、174b等中的节点。在本实施例中,实现了1.5维的配置。在一段时间中,为一百万个最常见的查询运行查询日志。上述一百万个查询中的每个查询的最开始的20个索引项被映射到第1层,如图6中的176所示。这可能有大约五百万个文档。余下的文档根据静态相关分数进行分配。例如,对于有十亿个文档的数据库,最上面的3千万个文档被映射到第1层(这些文档中的五百万个文档被锁定到这一层),3亿6千万个文档被映射到第2层,并且6亿1千万个文档被映射到第3层。如上所述使用了FTA。
现在参考图7,示出了根据本发明的另一组节点180。组180可以用来替换组160并且包括在列182a、182b等和行184a、184b等中的节点。在本实施例中,实现了2维的配置。在图7的实施例中,可选地使用了与图6中的1.5维的配置相同的分层分布。但是,所有文档的高价值上下文中的信息被首先与第I层同时搜索。在确定文档的动态相关时,这些高价值上下文是各个web网页中最重要的部分。这些部分包括标题、锚等。
如果需要更多的索引项,则在从返回的结果中除去副本的同时使用多层配置来连续地搜索全部索引。例如,最上面的3千万个文档(如上所述有5百万个文档被锁定)的主体上下文被映射到第1层,3亿6千万个文档的主体上下文被映射到第2层,并且6亿1千万个文档的主体上下文被映射到第3层。使用新的第0层,其包括全部的十亿个文档的高级上下文(superior context)。图8中示出了用于组180的体系结构的FTA的一些变量值。可选的第4层可以用于较低价值的文档。这种文档可以是纯链接或垃圾信息文档。通过搜索第0层中的所有层的高价值上下文,本发明利用了以下事实,即在第2层和第3层的节点中搜索相对较小的子集的信息比在这些节点中搜索被编入索引的全部信息要廉价得多。
现在参考图9,示出了总结了本发明的一些操作的流程图。在S2中,搜索引擎搜集数据源。在S4中,从数据源汇集的文档被存储在数据库中。在S6中,使用上述算法中的一种将文档分成多个分层。在S8中,文档被映射到所确定的分层中。在S10中,基于所确定的分层产生子索引。在S12中,将子索引存储在搜索节点组中的各个搜索节点中。在S13中,接收来自用户的搜索查询。在S14中,搜索引擎搜索第I层中的索引。在S16中,基于FTA,搜索引擎搜索第II层的搜索节点和其它层的搜索节点。在S18中,将搜索的结果提供给用户。
因而,通过将数据库中的采集到的文档映射到不相交的多个分层中,实现了更快速、更节约成本的搜索引擎。此外,通过提供可以动态地决定搜索多少个分层的滑落算法,提高了对数据库的缩减。
虽然结合优选实施例描述并示出了本发明,但是本领域技术人员应当清楚在不脱离本发明的精神和范围的情况下可以进行各种变化和修改,并且本发明不应被局限于上述方法或结果的具体细节中,因为上述变化和修改也要包括在本发明的范围内。

Claims (13)

1.一种用于为数据库中的数据项建立索引的方法,所述方法包括:
从数据库中获取与各自的等级相关联的数据项,其中所述等级至少部分基于所述数据项的相关分数;
基于所述数据项各自的等级将所述数据项映射到至少第一层和第二层上:
基于所述映射从所述数据项的主索引产生至少第一和第二子索引;
将所述第一子索引存储在第一多个搜索节点中,所述第一多个搜索节点在逻辑上被排列在第一多个列中;以及
将所述第二子索引存储在第二多个搜索节点中,所述第二多个搜索节点在逻辑上被排列在第二多个列中。
2.根据权利要求1所述的方法,其中所述数据库是可以通过万维网得到的网页和文档的集合。
3.根据权利要求1所述的方法,还包括:
在所述数据库上执行用于大量查询的搜索查询日志;以及
接收所述搜索查询日志的结果;
其中所述第一子索引基于所述查询日志的结果。
4.根据权利要求1所述的方法,其中所述数据项为web网页并且所述映射基于所述web网页的相关分数。
5.根据权利要求1所述的方法,其中所述第一和第二子索引在逻辑上被排列在各自的多个逻辑行中。
6.一种用于搜索数据库的方法,所述方法包括:
从数据库中获取与各自的等级相关联的数据项,其中所述等级至少部分基于所述数据项的相关分数;
基于所述数据项各自的等级将数据项映射到至少第一层和第二层上;
基于所述映射从所述数据项的主索引产生至少第一和第二子索引;
将所述第一子索引存储在第一多个搜索节点中,所述第一多个搜索节点在逻辑上被排列在第一多个列中;
将所述第二子索引存储在第二多个搜索节点中,所述第二多个搜索节点在逻辑上被排列在第二多个列中;
接收搜索查询;以及
搜索所述第一层以寻找与所述搜索查询有关的结果数据项,并且将所述结果数据项中的一个或多个提供给用户。
7.根据权利要求6所述的方法,其中当所述第一层不能产生阈值数目的结果数据项时,搜索所述第二层。
8.根据权利要求6所述的方法,其中所述第一和第二子索引在逻辑上被排列在各自的多个逻辑行中。
9.一种用于为数据库建立索引的系统,所述系统包括:
采集器,其搜集所述数据库以寻找数据项;
索引器,其接收与各自的等级相关联的数据项并产生主索引,其中所述等级至少部分基于所述数据项的相关分数;
文档映射部件,其基于所述数据项各自的等级将所述数据项映射到至少第一和第二层上;
处理器,其基于所述映射从所述主索引产生至少第一和第二子索引;
在逻辑上被排列在第一多个列中的第一多个搜索节点,用于存储所述第一子索引;以及
在逻辑上被排列在第二多个列中的第二多个搜索节点,用于存储所述第二子索引。
10.根据权利要求9所述的系统,其中所述第一和第二子索引在逻辑上被排列在各自的多个逻辑行中。
11.一种搜索引擎,包括:
采集器,其搜集数据库以寻找数据项;
索引器,其接收与各自的等级相关联的数据项并产生主索引,其中所述等级至少部分基于所述数据项的相关分数;
文档映射部件,其基于所述数据项各自的等级将所述数据项映射到至少第一和第二层上;
处理器,其基于所述映射从所述主索引产生至少第一和第二子索引;
在逻辑上被排列在第一多个列中的第一多个搜索节点,用于存储所述第一子索引;
在逻辑上被排列在第二多个列中的第二多个搜索节点,用于存储所述第二子索引;以及
调度器,其接收查询并且将所述查询转发给所述第一多个搜索节点中的一搜索节点。
12.根据权利要求11所述的搜索引擎,其中所述第一和第二子索引在逻辑上被排列在各自的多个逻辑行中。
13.根据权利要求11所述的搜索引擎,其中当所述第一层没有产生阈值数目的结果数据项时,所述调度器将所述查询发送给所述第二层。
CN200480033085A 2003-11-10 2004-11-09 具有分层存储的索引的搜索引擎 Expired - Fee Related CN100585590C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/705,641 2003-11-10
US10/705,641 US7240064B2 (en) 2003-11-10 2003-11-10 Search engine with hierarchically stored indices

Publications (2)

Publication Number Publication Date
CN101189602A CN101189602A (zh) 2008-05-28
CN100585590C true CN100585590C (zh) 2010-01-27

Family

ID=34552416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200480033085A Expired - Fee Related CN100585590C (zh) 2003-11-10 2004-11-09 具有分层存储的索引的搜索引擎

Country Status (7)

Country Link
US (1) US7240064B2 (zh)
EP (1) EP1682993A4 (zh)
JP (1) JP4699379B2 (zh)
KR (1) KR100828232B1 (zh)
CN (1) CN100585590C (zh)
HK (1) HK1119798A1 (zh)
WO (1) WO2005048069A2 (zh)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536713B1 (en) 2002-12-11 2009-05-19 Alan Bartholomew Knowledge broadcasting and classification system
US8042112B1 (en) 2003-07-03 2011-10-18 Google Inc. Scheduler for search engine crawler
US7725452B1 (en) 2003-07-03 2010-05-25 Google Inc. Scheduler for search engine crawler
US7516086B2 (en) * 2003-09-24 2009-04-07 Idearc Media Corp. Business rating placement heuristic
US7822661B1 (en) 2003-09-24 2010-10-26 SuperMedia LLC Information distribution system and method utilizing a position adjustment factor
US7293016B1 (en) * 2004-01-22 2007-11-06 Microsoft Corporation Index partitioning based on document relevance for document indexes
US8055553B1 (en) 2006-01-19 2011-11-08 Verizon Laboratories Inc. Dynamic comparison text functionality
US7580921B2 (en) 2004-07-26 2009-08-25 Google Inc. Phrase identification in an information retrieval system
US7711679B2 (en) 2004-07-26 2010-05-04 Google Inc. Phrase-based detection of duplicate documents in an information retrieval system
US7702618B1 (en) 2004-07-26 2010-04-20 Google Inc. Information retrieval system for archiving multiple document versions
US7567959B2 (en) * 2004-07-26 2009-07-28 Google Inc. Multiple index based information retrieval system
US7599914B2 (en) 2004-07-26 2009-10-06 Google Inc. Phrase-based searching in an information retrieval system
US7536408B2 (en) 2004-07-26 2009-05-19 Google Inc. Phrase-based indexing in an information retrieval system
US7584175B2 (en) 2004-07-26 2009-09-01 Google Inc. Phrase-based generation of document descriptions
US7580929B2 (en) * 2004-07-26 2009-08-25 Google Inc. Phrase-based personalization of searches in an information retrieval system
US7987172B1 (en) * 2004-08-30 2011-07-26 Google Inc. Minimizing visibility of stale content in web searching including revising web crawl intervals of documents
US9189481B2 (en) * 2005-05-06 2015-11-17 John M. Nelson Database and index organization for enhanced document retrieval
US7685107B2 (en) * 2005-06-07 2010-03-23 International Business Machines Corporation Apparatus, system, and method for scanning a partitioned data set
US7831474B2 (en) * 2005-10-28 2010-11-09 Yahoo! Inc. System and method for associating an unvalued search term with a valued search term
US7739239B1 (en) * 2005-12-29 2010-06-15 Amazon Technologies, Inc. Distributed storage system with support for distinct storage classes
US7685109B1 (en) 2005-12-29 2010-03-23 Amazon Technologies, Inc. Method and apparatus for data partitioning and replication in a searchable data service
US20070198504A1 (en) * 2006-02-23 2007-08-23 Microsoft Corporation Calculating level-based importance of a web page
EP1862916A1 (en) * 2006-06-01 2007-12-05 Microsoft Corporation Indexing Documents for Information Retrieval based on additional feedback fields
US7809704B2 (en) * 2006-06-15 2010-10-05 Microsoft Corporation Combining spectral and probabilistic clustering
US20080033925A1 (en) * 2006-08-07 2008-02-07 Bea Systems, Inc. Distributed search analysis
US9015197B2 (en) 2006-08-07 2015-04-21 Oracle International Corporation Dynamic repartitioning for changing a number of nodes or partitions in a distributed search system
US7725470B2 (en) * 2006-08-07 2010-05-25 Bea Systems, Inc. Distributed query search using partition nodes
US20080059486A1 (en) * 2006-08-24 2008-03-06 Derek Edwin Pappas Intelligent data search engine
EP1903457B1 (en) 2006-09-19 2012-05-30 Exalead Computer-implemented method, computer program product and system for creating an index of a subset of data
US7689548B2 (en) * 2006-09-22 2010-03-30 Microsoft Corporation Recommending keywords based on bidding patterns
US20080228675A1 (en) * 2006-10-13 2008-09-18 Move, Inc. Multi-tiered cascading crawling system
US7783689B2 (en) * 2006-10-26 2010-08-24 Microsoft Corporation On-site search engine for the World Wide Web
US8086594B1 (en) 2007-03-30 2011-12-27 Google Inc. Bifurcated document relevance scoring
US8166045B1 (en) 2007-03-30 2012-04-24 Google Inc. Phrase extraction using subphrase scoring
US8166021B1 (en) 2007-03-30 2012-04-24 Google Inc. Query phrasification
US7693813B1 (en) 2007-03-30 2010-04-06 Google Inc. Index server architecture using tiered and sharded phrase posting lists
US7702614B1 (en) 2007-03-30 2010-04-20 Google Inc. Index updating using segment swapping
US7925655B1 (en) 2007-03-30 2011-04-12 Google Inc. Query scheduling using hierarchical tiers of index servers
US20090055436A1 (en) * 2007-08-20 2009-02-26 Olakunle Olaniyi Ayeni System and Method for Integrating on Demand/Pull and Push Flow of Goods-and-Services Meta-Data, Including Coupon and Advertising, with Mobile and Wireless Applications
US8117223B2 (en) 2007-09-07 2012-02-14 Google Inc. Integrating external related phrase information into a phrase-based indexing information retrieval system
WO2009078729A1 (en) * 2007-12-14 2009-06-25 Fast Search & Transfer As A method for improving search engine efficiency
US8024285B2 (en) 2007-12-27 2011-09-20 Microsoft Corporation Determining quality of tier assignments
US8103652B2 (en) * 2008-02-13 2012-01-24 Microsoft Corporation Indexing explicitly-specified quick-link data for web pages
US9135328B2 (en) * 2008-04-30 2015-09-15 Yahoo! Inc. Ranking documents through contextual shortcuts
US8606627B2 (en) * 2008-06-12 2013-12-10 Microsoft Corporation Sponsored search data structure
KR100953869B1 (ko) * 2008-08-04 2010-04-20 고려대학교 산학협력단 데이터 생성 장치 및 방법, 그리고 데이터 검색 장치 및방법
US7733247B1 (en) * 2008-11-18 2010-06-08 International Business Machines Corporation Method and system for efficient data transmission with server side de-duplication
US20100153371A1 (en) * 2008-12-16 2010-06-17 Yahoo! Inc. Method and apparatus for blending search results
US20100287129A1 (en) * 2009-05-07 2010-11-11 Yahoo!, Inc., a Delaware corporation System, method, or apparatus relating to categorizing or selecting potential search results
KR101104112B1 (ko) * 2009-10-19 2012-01-13 한국과학기술정보연구원 차세대 대용량 저장장치의 동적 색인 관리 시스템 및 그 방법과 그 소스 프로그램을 기록한 기록매체
CN102087646B (zh) * 2009-12-07 2013-03-20 北大方正集团有限公司 一种索引建立方法及装置
US20110258212A1 (en) * 2010-04-14 2011-10-20 Microsoft Corporation Automatic query suggestion generation using sub-queries
US9152683B2 (en) * 2010-10-05 2015-10-06 International Business Machines Corporation Database-transparent near online archiving and retrieval of data
CN101989301B (zh) * 2010-10-22 2012-05-23 复旦大学 一种支持多数据源的索引维护方法
US8370319B1 (en) * 2011-03-08 2013-02-05 A9.Com, Inc. Determining search query specificity
US9495453B2 (en) * 2011-05-24 2016-11-15 Microsoft Technology Licensing, Llc Resource download policies based on user browsing statistics
US8965921B2 (en) * 2012-06-06 2015-02-24 Rackspace Us, Inc. Data management and indexing across a distributed database
US8700583B1 (en) 2012-07-24 2014-04-15 Google Inc. Dynamic tiermaps for large online databases
US8862566B2 (en) 2012-10-26 2014-10-14 Equifax, Inc. Systems and methods for intelligent parallel searching
US9721000B2 (en) * 2012-12-20 2017-08-01 Microsoft Technology Licensing, Llc Generating and using a customized index
US9501506B1 (en) 2013-03-15 2016-11-22 Google Inc. Indexing system
US9483568B1 (en) 2013-06-05 2016-11-01 Google Inc. Indexing system
US9727648B2 (en) 2014-12-19 2017-08-08 Quixey, Inc. Time-box constrained searching in a distributed search system
US9792286B2 (en) 2014-12-31 2017-10-17 Rovi Guides, Inc. Systems and methods for obtaining customized search results by way of user-specific search indices
US10380207B2 (en) * 2015-11-10 2019-08-13 International Business Machines Corporation Ordering search results based on a knowledge level of a user performing the search
US11347798B2 (en) * 2016-12-29 2022-05-31 Ancestry.Com Operations Inc. Dynamically-qualified aggregate relationship system in genealogical databases
CN109062936B (zh) * 2018-06-15 2023-10-31 中国平安人寿保险股份有限公司 一种数据查询方法、计算机可读存储介质及终端设备
CN111581237B (zh) * 2019-02-15 2023-06-09 阿里巴巴集团控股有限公司 数据查询方法、装置、系统及电子设备
CN110990366B (zh) * 2019-12-04 2024-02-23 中国农业银行股份有限公司 一种提升基于es的日志系统性能的索引分配方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2977260B2 (ja) * 1990-09-27 1999-11-15 株式会社東芝 情報提示装置
US7599910B1 (en) * 1993-11-16 2009-10-06 Hitachi, Ltd. Method and system of database divisional management for parallel database system
US5694593A (en) * 1994-10-05 1997-12-02 Northeastern University Distributed computer database system and method
US5913215A (en) * 1996-04-09 1999-06-15 Seymour I. Rubinstein Browse by prompted keyword phrases with an improved method for obtaining an initial document set
US5787435A (en) * 1996-08-09 1998-07-28 Digital Equipment Corporation Method for mapping an index of a database into an array of files
US6360215B1 (en) * 1998-11-03 2002-03-19 Inktomi Corporation Method and apparatus for retrieving documents based on information other than document content
NO992269D0 (no) * 1999-05-10 1999-05-10 Fast Search & Transfer Asa S°kemotor med todimensjonalt skalerbart, parallell arkitektur
US6804675B1 (en) * 1999-05-11 2004-10-12 Maquis Techtrix, Llc Online content provider system and method
US6507837B1 (en) * 2000-06-08 2003-01-14 Hyperphrase Technologies, Llc Tiered and content based database searching
NO313399B1 (no) * 2000-09-14 2002-09-23 Fast Search & Transfer Asa Fremgangsmate til soking og analyse av informasjon i datanettverk
US6778977B1 (en) * 2001-04-19 2004-08-17 Microsoft Corporation Method and system for creating a database table index using multiple processors
US6928425B2 (en) * 2001-08-13 2005-08-09 Xerox Corporation System for propagating enrichment between documents
US7565367B2 (en) * 2002-01-15 2009-07-21 Iac Search & Media, Inc. Enhanced popularity ranking

Also Published As

Publication number Publication date
US20050102270A1 (en) 2005-05-12
US7240064B2 (en) 2007-07-03
CN101189602A (zh) 2008-05-28
JP2007529791A (ja) 2007-10-25
EP1682993A2 (en) 2006-07-26
KR20060083229A (ko) 2006-07-20
WO2005048069A2 (en) 2005-05-26
EP1682993A4 (en) 2009-06-24
WO2005048069A3 (en) 2007-08-23
HK1119798A1 (en) 2009-03-13
KR100828232B1 (ko) 2008-05-07
JP4699379B2 (ja) 2011-06-08

Similar Documents

Publication Publication Date Title
CN100585590C (zh) 具有分层存储的索引的搜索引擎
EP1934823B1 (en) Click distance determination
CA2507336C (en) Method and system for indexing and searching databases
Li et al. Clustering for approximate similarity search in high-dimensional spaces
Tang et al. pSearch: Information retrieval in structured overlays
US7028029B2 (en) Adaptive computation of ranking
JP2007529791A5 (zh)
Chidlovskii et al. Semantic cache mechanism for heterogeneous web querying
Cambazoglu et al. Scalability challenges in web search engines
Tomasic et al. Data structures for efficient broker implementation
Aronovich et al. CM-tree: A dynamic clustered index for similarity search in metric databases
Duhan et al. A novel approach for organizing web search results using ranking and clustering
Podnar et al. Beyond term indexing: A P2P framework for web information retrieval
Pradhan et al. Comparison-based study of pagerank algorithm using web structure mining and web content mining
CN106649462A (zh) 一种针对海量数据全文检索场景的实现方法
Gil-Costa et al. Modelling efficient novelty-based search result diversification in metric spaces
Babu et al. Design of a metacrawler for web document retrieval
Yu et al. Distributed Metadata Search for the Cloud.
Adeleke et al. A B+-Tree-Based Indexing and Storage of Numerical Records in School Databases
Bozanis et al. DAL: Accommodating Skip Lists in the SDDS Model.
Schenkel FliX: A flexible framework for indexing complex XML document collections
Makris et al. Towards intelligent information retrieval engines: A multi-agent approach
Li et al. User-assisted similarity estimation for searching related web pages
Czyszczoń et al. Distributed Web Service Retrieval Method
Eastman Optimal bucket size for multiattribute retrieval in partitioned files

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1119798

Country of ref document: HK

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

Effective date of registration: 20090313

Address after: California, USA

Applicant after: YAHOO! Inc.

Address before: California, USA

Applicant before: OVERTURE SERVICES, Inc.

ASS Succession or assignment of patent right

Owner name: YAHOO! CO.,LTD.

Free format text: FORMER OWNER: WAFUL TOURS SERVICES

Effective date: 20090313

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1119798

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: FEIYANG MANAGEMENT CO., LTD.

Free format text: FORMER OWNER: YAHOO CORP.

Effective date: 20150331

TR01 Transfer of patent right

Effective date of registration: 20150331

Address after: The British Virgin Islands of Tortola

Patentee after: Yahoo! Inc.

Address before: California, USA

Patentee before: YAHOO! Inc.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100127

Termination date: 20211109

CF01 Termination of patent right due to non-payment of annual fee