CN102246172A - 用于电子内容的分布式索引搜索的系统及方法 - Google Patents

用于电子内容的分布式索引搜索的系统及方法 Download PDF

Info

Publication number
CN102246172A
CN102246172A CN2009801503556A CN200980150355A CN102246172A CN 102246172 A CN102246172 A CN 102246172A CN 2009801503556 A CN2009801503556 A CN 2009801503556A CN 200980150355 A CN200980150355 A CN 200980150355A CN 102246172 A CN102246172 A CN 102246172A
Authority
CN
China
Prior art keywords
key word
peer
elementary
node
peer network
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.)
Pending
Application number
CN2009801503556A
Other languages
English (en)
Inventor
W·嘉比
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.)
FAROO ASSETS Ltd
Original Assignee
FAROO ASSETS Ltd
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 FAROO ASSETS Ltd filed Critical FAROO ASSETS Ltd
Publication of CN102246172A publication Critical patent/CN102246172A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • 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/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

提供了用于在对等网络拓扑中进行有效搜索的方法及系统。在各实施例中,搜索方法和系统提供了与询问术语的数量无关的响应时间和网络信息流通量,由此在P2P网络搜索实现中产生了恒定运行时间搜索及带宽命中。通过在对等点之间分配倒排索引,并且通过给各倒排索引存储填充有所选关键字的布隆(Bloom)过滤器,就可在一个网络节点上进行多术语搜索及分析而不要求在各网络节点之间交换置入列表。

Description

用于电子内容的分布式索引搜索的系统及方法
相关申请的交叉引用
本申请要求2008年10月13日提交的题为“用于搜索电子内容的系统及方法(System and Method for Searching for Electronic Content)”的美国临时专利申请No.61/104,848的优先权,其公开内容通过引用出于所有目的全部纳入于此。
背景技术
发明领域
本发明一般地涉及用于自动搜索计算机网络中的电子信息内容的领域,且更具体地,涉及对等计算机网络拓扑中信息的有效索引化及搜索。
背景技术
计算机网络已经在所有计算机环境中变得几乎普遍存在,能够由计算机用户访问并使用的信息量已相应地爆发式发展。然而存在如因特网的网络用户可用的数十亿页的信息,却没有高效地定位信息的能力的情况下,所有可用信息变得没用。因此,开发了诸如谷歌及雅虎因特网搜索引擎的自动搜索资源以帮助用户在合理时间量中在巨大数量的可能存储位置中定位相关信息。常规搜索引擎通常通过预索引网络能够访问的文件并针对索引施加用户搜索标准以便获得搜索命中结果来减小搜索时间。
典型文件索引系统具有按照按文件划分的倒排内容索引排列的术语出现数据。数据分布在用作索引存储装置的多个计算机系统上,其中各计算机系统处理被索引的文件总集的子集。这允许立刻向许多计算机系统呈现字搜索询问,其中各计算机系统参考由计算机系统处理的文件来处理该询问。
按文件划分的倒排字定位索引通常比按字划分的索引更高效。这是因为当有必要对多个字排序命中结果时,按字划分变得昂贵。对于出现许多次的字,在多个计算机系统之间会交换大量的信息。因此,典型文件索引系统按文件划分,且针对索引内容处理关于被索引文件的询问直到获得足够的结果集。虽然搜索引擎中的被索引文件数量在增大,在许多情况下,对多数询问的结果来自整个文件集的一小部分。因此,这可能对于包含不大会响应于询问返回结果的文件的搜索索引是低效率的。
计算机领域中熟知对等网络拓扑(P2P),且可实现在硬接线配置中,或者如更普遍地以虚拟方式通过将对等网络配置叠加在物理或本地网络拓扑上来实现。在对等网络中,网络中的各计算机(还称作“对等点(peer)”或“节点”)具有彼此相同或类似的职责,即,它们是“对等”的而非仅仅是客户机或服务器,并物理地或虚拟地连接到网络中的所有其它节点(参见图1A)。在P2P网络中,所有客户机提供资源,资源可包括带宽、存储空间、以及计算能力。这种网络可动态地缩放;随着节点到达及系统需求增大,系统的总容量也增大。已创建了P2P网络的许多变体,且受欢迎的示例包括Napster、Kazaa、及Gnutella。这种P2P网络通常首先用于在因特网上传播如电影或音乐的大量多媒体数据。
P2P网络的分布式计算机能力和存储方面在用于存储和处理的多个计算机资源的编组中提供巨大优势。但是,在这种网络中,计算元素(节点)通常在地里上不接近,且它们通常不是以高带宽连接来连接的。此外,网络中节点的存储容量动态地变化,且在一些情况下可严重受限制。
P2P网络搜索引擎通过P2P网络接口利用各网络节点的资源,且在如网络中的计算机空闲时可有效地利用节点。在这种搜索配置中,P2P网络中的各计算机/节点包含一部分搜索索引而非集中式索引,而在集中式搜索引擎实现中更经常包含集中式索引。由于P2P网络实现中的计算机通常是不同用户计算机的集聚体,计算机可在性能、带宽、以及用于执行搜索和/或保存索引的可用存储器上存在很大不同。
对等搜索引擎典型地用结构化或非结构化网络方法来实现。在非结构化对等网络中,任何对等点可存储任何内容。诸对等点和所分配内容之间不存在特定职责;因此,在搜索时需要针对内容询问所有对等点。如果搜索限于非结构化搜索方法中的某些数量的对等点,很有可能这些结果将会是不完整的。
在结构化对等网络中,各计算机仅负责特定部分的内容。因此,在搜索时有可能将搜索活动仅限于存储与询问相关的内容的那些对等点。在图1B中示出基于分布式散列表的结构化对等网络的一示例。
搜索引擎应努力高效地处理多字搜索询问,因为由用户执行的极少搜索仅包括单个关键字。能够多个关键字搜索(例如布尔询问)的多数对等搜索引擎通过交叉单个关键字的置入列表来操作,如图2所示。一种搜索引擎可能欢迎包括含有特定关键字的所有地址或页的置入列表,且从而可能变得尺寸极大。因此,交叉分析可能需要极大存储器、处理及带宽资源以便以适时方式来完成。在图3中示出少许改进,在其中针对关键字“酸”从Peer(对等点)2转移一个大置入列表(存储在对等点1处的“花”的列表)到具有最大置入列表的发生交叉分析的网络节点。然后该结果从对等点1转移到对等点3,在对等点3处用户可检阅结果。
图2和图3所示的两种方法对于分布式搜索而言是效率低的,因为转移巨大置入列表需要过多时间及带宽。为了确保完成针对两个单独的对等点处的各具有十亿结果的两个搜索术语的结果,将需要转移数千兆字节。即使由压缩实用模块以10的因子来压缩,针对单个搜索的数据转移仍然是不可行的。因此,现有方法受限于慢速搜索引擎或不完全结果,尽管倒排索引以用于达到一些效率水平。因此,空间高效分布式索引搜索系统中存在的需求是支持P2P实现中的适时及完整的搜索结果。
发明内容
提供对等网络拓扑中的用于高效搜索的方法及系统。在各实施例中,搜索方法和系统提供与询问术语的数量无关的响应时间和网络信息流通量,由此产生P2P网络搜索实现中的恒定运行时间搜索及带宽命中。通过在对等点之间分布倒排索引,以及通过给各倒排索引存储填充有所选关键字的布隆(Bloom)过滤器,可在一个网络节点上在不要求各种网络节点之间的置入列表的交换的情况下执行多术语搜索及分析。
在一个实施例中,在单个对等点处本地地进行多个关键字的布尔交叉。这允许快速布尔询问而不需要根据不同关键字(位于不同对等点处)交叉长置入列表。通过使用分布式倒排索引,在关键字的置入列表中,对于每个所包含的文件条目,存在被存储到布隆过滤器中的文件的所选字。本领域技术人员知道,布隆过滤器是用于测试一元素是否为集合的成员的公知的空间高效随机数据结构。可容易添加集合成员,且这种添加不会增大所需存储空间,除非布隆过滤器配置改变。布隆过滤器还具有非同寻常的性质,即添加项或检查一个项是否在该集合中所需的时间是固定常数,O(k),这与集合中已经存在的项数完全无关。
然而,如果不仅想要确定在集合内的成员资格,还确定关于项的另一特性,布隆过滤器是不充分的,因此本发明在网络节点内将布隆过滤器的使用与倒排索引相结合。因此,根据本发明实施例的该数据结构的使用提供存储装置大小方面的优势及检查集合成员资格时的效率。在一个方面中,在本发明实施例的初级关键字的置入列表内检查所有文件以便确定它们是否包含全部所选次级关键字,由此支持最终搜索结构的返回。
在一实施例中,系统实现包括可用的对等网络中的对等网络节点,其中网络连接到对等网络节点并配置成与对等网络节点交互操作。对等网络节点包括索引逻辑,其用于执行软件以便:将文件语法分析成搜索术语列表中的关键字;排序搜索术语列表内的关键字;以及针对搜索术语列表中的各经排序的关键字:识别作为初级关键字的排序的关键字;确定对应于对等网络中的主节点的唯一节点标识符,该主节点配置成:存储包括对应于文件的初级关键字及标识符的倒排索引条目;并将字符串存储存储于主节点上的布隆过滤器数据结构中;识别搜索术语列表中的一个或多个次级关键字;存储初级关键字和文件标识符到存储在主节点中的倒排索引中;以及将一个或多个次级关键字存储在布隆过滤器数据结构中。该逻辑可包括配置有处理器的计算机,该处理器耦合到:存储器、显示器、用户接口、以及网络接口。在各种实施例中,来自文件的所有术语被排序并用作搜索术语列表中的单独的初级关键字,且排序可遵循诸如字母数字顺序的任何期望机制。某些情况下,关键字可被改变成小写字体,并从搜索术语列表中去除副本。为了提升搜索效率,可从搜索术语列表移除常见停止字(诸如“和、或、他、她、它…”)。此外,如果次级关键字的排序比初级关键字低,一个或多个次级关键字可存储在布隆过滤器数据结构中。
在索引实施例的另一方面中,确定对应于对等网络中的主节点的唯一节点标识符还包括获取初级关键字的散列值以及确定最接近该散列值的唯一节点标识符。在又一方面中,初级关键字可包含多个关键字,且软件可确定一个或多个次级关键字离初级关键字的理论距离。该距离可表示任何期望的标准,诸如多个关键字之间的“接近程度”的抽象度量;这种距离值可存储在布隆过滤器数据结构中。在索引实施例的另一方面中,存储在倒排索引中的初级关键字还包括多个关键字。另外,确定对应于对等网络中的主节点的唯一节点标识符可通过任何期望方法来完成,如通过确定对等网络中的哪个节点存储包含初级关键字的倒排索引,该初级关键字中有多个关键字。
还提供用于索引对等网络体系结构内的要搜索的文件的方法,该方法包括:将文件语法分析成搜索术语列表中的关键字;排序搜索术语列表内的关键字;以及针对搜索术语列表中的各已排序关键字:识别作为初级关键字的排序的关键字;确定对应于对等网络中的主节点的唯一节点标识符,由此主节点配置成:存储包括对应于文件的初级关键字及标识符的倒排索引条目;并存储存储在主节点上的布隆过滤器数据结构中的字符串;识别搜索术语列表中的一个或多个次级关键字;存储初级关键字和文件标识符到存储在主节点中的倒排索引中;以及将一个或多个次级关键字存储在布隆过滤器数据结构中。来自文件的术语可进一步以任何期望方式处理,诸如排序(如以字母数字顺序)来自文件的全部术语,并将全部术语用作搜索术语列表内的单独的初级关键字,将搜索术语列表内的关键字大小写改成小写;从搜索术语列表中移除重复的关键字,并从搜索术语列表中移除停止字。为了提升存储效率和处理速度,如果次级关键字的排序比初级关键字低,一个或多个次级关键字可存储在布隆过滤器数据结构中。
在各实施例中初级关键字可包含多个关键字。可在来自初级关键字的一个或多个次级关键字之间确定诸如理论距离这样的接近程度的度量,且距离指示符可存储在布隆过滤器数据结构中。
在索引方法的一个实施例中,确定对应于对等网络中的主节点的唯一节点标识符还包括获取初级关键字的散列值以及确定最接近该散列值的唯一节点标识符。此外,确定对应于对等网络中的主节点的唯一节点标识符还可包括确定对等网络中的哪个节点存储包含初级关键字的倒排索引,该初级关键字中有多个关键字。
还提供搜索系统,该系统包括所提供对等网络中的对等网络节点,其中网络连接到对等网络节点并配置成与对等网络节点交互操作。对等网络节点包括搜索逻辑,其用于执行软件即便:从由用户提供的搜索字符串获取初级关键字;从搜索字符串获取一个或多个次级关键字;确定对应于对等网络中的主节点的唯一节点标识符,其中主节点:将包括初级关键字和基准标识符的倒排索引存储到包含初级关键字的文件;以及将对应于一个或多个相关字符串的布隆函数数据结构存储到文件内;以及其中,软件通过确定一个或多个次级关键字是否已存储在布隆函数数据结构内来确定该一个或多个次级关键字是否存在于文件内。该逻辑可包括如配置有处理器的计算机的任何期望系统元素,该处理器耦合到:存储器、显示器、用户接口、以及网络接口。
在搜索系统的各种实施例中,该逻辑还配置成格式化报告给用户,该报告包括包含对应于以下关键字的至少一个的文件的地址列表,这些关键字有:初级关键字;以及存储在布隆函数数据结构内的一个或多个次级关键字。
搜索系统的附加方面包括:通过以预定排序标准从搜索字符串排序搜索术语并选择排位最高的搜索术语作为初级关键字来获取初级关键字。排序标准可以是诸如字母数字顺序的任何期望排序系统。搜索字符串内的关键字还可被处理以增强搜索效率;方面包括将搜索字符串内的关键字的大小写改成小写;从搜索字符串中移除重复的关键字;并从搜索字符串中移除停止字。
可能出于任何原因从布隆过滤器搜索或不搜索关键字。在一个实施例中,如果次级关键字的排序比初级关键字低,可在布隆过滤器数据结构中搜索诸次级关键字,且在另一实施例中,软件进一步确定布隆函数数据结构中的多个全部次级关键字的存在性。搜索系统还可评价关键字的接近程度,且在一个方面中,软件进一步确定该距离在预定关键字距离以内,且在附加方面中,软件进一步确定来自初级关键字的全部次级关键字的全部距离指示符存在于布隆函数数据结构中。此外,存储于倒排索引中的初级关键字可包括多个关键字。
在搜索系统的一个实施例中,确定对应于对等网络中的主节点的唯一节点标识符还包括获取初级关键字的散列值以及确定最接近该散列值的唯一节点标识符。此外,确定对应于对等网络中的主节点的唯一节点标识符还包括确定对等网络中的哪个节点存储包含初级关键字的倒排索引,该初级关键字内有预定的多个关键字。
还提供用于搜索在对等网络体系结构中索引化的一个或多个文件的方法,该方法包括:从搜索字符串获取初级关键字;从搜索字符串获取一个或多个次级关键字;确定对应于对等网络中的主节点的唯一节点标识符,其中主节点:将包括初级关键字和基准标识符的倒排索引存储到包含该初级关键字的文件;以及将对应于一个或多个相关字符串的布隆函数数据结构存储到该文件内;以及其中,软件通过确定一个或多个次级关键字是否已存储在布隆函数数据结构内来确定该一个或多个次级关键字是否存在于文件内。一个方面包括格式化报告给用户,该报告包括含有对应于以下关键字的至少一个的文件的地址列表,该关键字有:初级关键字;以及存储在布隆函数数据结构内的一个或多个次级关键字。
可通过以预定排序标准从搜索字符串排序搜索术语并选择排位最高的搜索术语作为初级关键字来获取初级关键字。可使用诸如字母数字顺序的任何期望标准。在本发明的实施例中,搜索字符串内的关键字还可被处理以增强搜索效率;方面包括将搜索字符串内的关键字的大小写改成小写;从搜索字符串中移除重复的关键字;并从搜索字符串中移除停止字。在一个实施例中,如果次级关键字的排序比初级关键字低,可在布隆过滤器数据结构中搜索诸次级关键字。
在本发明中的搜索方法的另一实施例中,确定对应于对等网络中的主节点的唯一节点标识符还包括获取初级关键字的散列值以及确定最接近该散列值的唯一节点标识符。此外,确定对应于对等网络中的主节点的唯一节点标识符还包括确定对等网络中的哪个节点存储包含初级关键字的倒排索引,该初级关键字内有预定的多个关键字。
还提供利用基于对等点之间的划分的关键字组合来索引并搜索的系统。这种系统的一实施例包括对等网络节点;可用的对等网络连接到对等网络节点并配置成与对等网络节点交互操作;用于针对搜索索引文件的装置,该索引基于关键字组合及网络中的多个节点之间的划分来执行;以及用于通过贯穿网络中的多个节点索引的多个关键字组合来搜索经索引的文件的装置。这种系统的附加实施例包括所提供对等网络中的对等网络节点,其中网络连接到对等网络节点并配置成与对等网络节点交互操作。对等网络节点包括逻辑,该逻辑用于执行软件以便,将文件语法分析成搜索术语列表中的单独的关键字;排序搜索术语列表内的关键字;针对搜索术语列表中的各已排序关键字:(i)创建涉及包括排序关键字的至少一个实例的一个或多个网页的地址列表;(ii)根据相关性排序地址列表;以及(iii)将地址列表减少到k个最相关地址,其中k是预定数字;根据搜索术语列表创建询问索引术语集合,索引询问术语集合包括来自搜索术语列表的关键字及来自搜索术语列表的关键字组合的至少一个;从询问索引术语集合移除表示较短关键字组合的至少一个关键字组合;以及针对集合中的各其余询问索引术语:(i)识别询问索引术语作为初级询问索引术语;确定对应于对等网络中的主节点的唯一节点识别器,该主节点配置成:存储包括初级询问索引术语及对应于该询问索引术语的k个最相关地址的标识符的倒排索引条目;并将字符串存储到主节点上所存储的布隆过滤器数据结构中;(ii)识别一个或多个次级询问索引术语;(iii)将初级询问索引术语及对应于该询问索引术语的k个最相关地址的标识符存储在主节点的倒排索引中;以及(iv)将一个或多个次级询问索引术语及它们的分别相关联的k个最相关地址存储在布隆过滤器数据结构中。该逻辑可包括诸如处理器的任何适当的硬件或资源,该处理器被耦合到:存储器、显示器、用户接口、以及网络接口。
在索引化期间,可按照诸如字母数字顺序的任何顺序来排序来自文件的术语;且搜索术语列表内的全部术语可用作单独的初级关键字。搜索术语列表内的关键字可发生各种处理,诸如将搜索术语列表内的关键字的大小写改成小写;将搜索术语列表中的关键字形成为根干字(root stem word);从搜索术语列表中移除重复的关键字,并从搜索术语列表中移除停止字。在一个方面中,如果次级关键字的排序比初级关键字低,一个或多个次级关键字可存储在布隆过滤器数据结构中。
在多对等点搜索及索引系统的一个实现中,确定对应于对等网络中的主节点的唯一节点标识符还包括获取初级关键字的散列值以及确定最接近该散列值的唯一节点标识符。在另一方面中,关键字组合被创建,这些组合不包括具有少于存储在索引中的前k个最相关页面的较短的关键字组合。
多对等点索引及搜索系统的一个实施例包括从由用户提供的搜索字符串获取初级关键字;从搜索字符串获取一个或多个次级关键字,该次级关键字包括来自搜索字符串的单个字或字组合的至少一个;创建包括来自初级和次级关键字的一个或多个关键字组合的有限搜索集合,其中初级和次级关键字元素中的每一个具有存储在倒排索引中的前k个最相关页面;识别在倒排索引中存储来自有限搜索集合的至少一个关键字的对等网络的一个或多个主节点;且针对各个识别的主节点:(i)如果存储在主节点的倒排索引中的关键字是单个字,格式化报告给用户,该报告包含由倒排索引中的关键字所提及的所有文件的地址;(ii)如果主节点的倒排索引中的关键字包括多个字,格式化报告给用户,该报告包含该关键字的布隆过滤器数据结构条目所提及的所有文件的地址。
要理解,本文中的本发明的描述仅是示例性及说明性的,且不限制要求保护的发明。
附图简述
图1A示出现有技术的对等网络拓扑的描绘。
图1B示出使用分布式散列表方法的P2P网络实现中的现有技术分布式倒排索引。
图2示出对于P2P网络实现中的布尔搜索询问的现有技术方法。
图3示出对于P2P网络实现中的布尔搜索询问的另一方法。
图4示出本发明的系统框图。
图5示出本发明索引方法的流程图。
图6示出用于索引的来自源文件的术语的提取及处理的示例。
图7示出用于通过排序存储必要关键字的示例性减少机制。
图8示出将压缩成术语的文件索引字存储到布隆过滤器中的示例。
图9示出本发明搜索方法的流程图。
图10示出所识别对等点上的索引的示例性位置以及向用户返回文件地址。
图11示出根据本发明实施例的短语索引的示例。
图12示出根据本发明实施例用经索引的短语来搜索的示例。
图13示出根据本发明实施例使用基于关键字组合的划分的索引方法的示例。
具体实施方式
现在将具体参考本发明的现有示例性实施例,其示例在附图中示出。
要理解,本文所描述的方法可用硬件、软件、固件、专用处理器、或其组合的各种形式来实现。尤其,本发明的至少一部分优选实现为包括程序指令的应用,程序指令实际上体现在一个或多个程序存储设备(例如,硬盘、磁性软盘、闪存、RAM、ROM、DVD、CD ROM等)上,且可由包括适当体系结构的任何设备或机器来执行,诸如具有处理器、存储器、以及输入/输出接口的通用数字计算机。还要理解,因为本文所描述的一些组成系统组件和处理步骤优选用软件实现,系统模块(或方法步骤的逻辑流程)之间的连接可取决于本发明被编程的方式而不同。根据本文所给出的教示,相关领域普通技术人员将能够构想本发明的这些以及类似实现方案。
提供了在对等(P2P)网络环境中使用分布式倒排索引的高效索引及搜索系统。图4所示系统400的一实施例示出贯穿网络互连的多个网络节点/对等点410。各节点或对等点可表示配置有耦合到存储器、显示器、用户接口、及网络接口的处理器的计算机,且本领域技术人员理解这种节点或对等点还可以是PDA、移动电话、智能电话、装置,或能够存储、处理及与P2P网络交互数据的任何设备。在各节点上存储参考网络内文件的存储位置的倒排索引。
贯穿本发明实施例的各种改进,多个搜索术语的搜索和处理完全可以在P2P网络的单个节点上高效地进行,尽管对于文件的倒排索引分布在网络中的多个节点/对等点之间。至少一部分的倒排索引示为与布隆过滤器数据结构一起存储在各节点410上,尽管本领域技术人员可理解某些节点可连接到不具有索引和/或布隆过滤器的网络,和/或可能配置成不参与分布式搜索和索引。
本发明的综合搜索系统和方法包括索引P2P网络可用的文件的方面,且然后搜索索引和相关数据结构以便高效地识别包含由用户提供的搜索关键字或布尔搜索字符串的文件。图5所示流程图500示出本发明索引方法的方面,且可与图4所示P2P系统400结合使用。首先,由网络的节点410识别用于索引的文件。从文件提取/语法分析505潜在的关键字,通过将关键字分离成单独的字、对字排序、将字转换成小写、并移除重复字条目及停止字(例如高频术语,如和、或、他、它等)来制备505用于索引的字列表。图6从右至左示出从被索引的源文件提取的字的处理,其中所得制备的关键字列表显示在最右列610中。
针对在最右列610中的各关键字(参见步骤510),从上到下,识别520适当的网络节点410,且关键字与文件的标识符(如其URL或网址)一起被添加530到其倒排表。适当的网络节点可由任何适当的手段来确定,诸如关于初级关键字执行散列函数、以及确定对于该散列函数的输出的最接近定位网络节点唯一id。例如,列610中的第一字是“设计的(designed)”且说明“designed”的散列给出值0077。比较该值与各节点410的各唯一节点ID,且寻找最接近匹配以确定哪个倒排索引需要更新(即,例如,节点420假若具有唯一节点ID 0079,且该网络中的节点的其它节点id数字上比值“2”离得更远)。在初级关键字的倒排索引/置入列表中,对于每个所包含的文件条目,存在所存储的该文件的所包含的字(次级关键字)。这允许对等点处的本地快速布尔搜索(例如与(AND))而不需要根据不同关键字(位于不同对等点处)交叉长置入列表。然而,在一个实施例中,不是全部所包含关键字都被存储,但只有在字母顺序上在置入列表的初级关键字之后的关键字被存储(参见图7示例);这节省一半的所需索引空间。如果另一文件要被索引550,该处理继续提取和制备505,否则索引处理终止555。
在初级关键字所引用的网页中所包含的关键字作为布隆过滤器数据结构中的条目被存储在置入列表中(参见图8示例)。这在搜索中寻找次级关键字时提供大压缩增益及效率。加权布隆过滤器的使用进一步根据询问中的关键字的发生频率优化所需索引空间。在附加方面中,在初级关键字周围使用滑动窗口;仅存储与初级关键字在某些接近程度以内的次级关键字。这又可减小所需索引空间。
图9所示流程图900示出本发明搜索方法的方面,且可与图4所示P2P系统400结合使用。首先,用户向分布式搜索系统提交903搜索字符串形式的询问。该询问被语法分析成单独的字,这些字按照字母排序、转换成小写、移除905重复字条目和停止字(高频术语,如和、或、他、它…),产生经处理的关键字列表,其示例在图10中显示,其中用户向分布式搜索系统400提交搜索字符串“搜索引擎”。在图10的示例中,排序确定初级关键字,其它关键字视作次级关键字,“引擎”被确定为来自搜索字符串的初级关键字,而“搜索”被确定为次级关键字。接下来,通过上述散列方法识别节点920,在该节点中术语“引擎”在索引中。从定位的节点的倒排索引/置入列表,识别包含全部次级关键字的所有文件930,且格式化报告并发送给用户文件位置和/或其它搜索结果。在图10的示例中,初级关键字“引擎”的散列产生对标记为“所识别对等点”的节点的最接近匹配,且次级关键字“搜索”位于“文件1”中,返回该文件1的地址给用户。
本发明实施例还支持短语索引和搜索。在本发明的各种实施例中,短语搜索响应时间和消耗网络信息流通量与询问术语的数量无关。在单个对等点处本地地进行多个关键字的交叉。这允许快速短语询问而不需要根据不同关键字(位于不同对等点处)交叉长置入列表。然而,还对于巨大索引规模,确保前k个最相关结果。
通过使用分布式倒排索引,在关键字的置入列表中,对于每个所包含的文件条目,存在被存储到布隆过滤器中的文件的所选字。在初级关键字的置入列表内,检查全部文件以确定它们是否在离初级关键字特定距离处包含询问的全部所选次级关键字,从而确定最终结果。
在索引实施例中,为了支持索引各字(初级关键字)期间的短语搜索,将最大距离D最大(Dmax)内的全部周围字(次级关键字)与其相对位置一起存储到初级关键字(参见图11的示例)。不是所有次级关键字必须要存储,但仅存储在字母顺序上在初级关键字之后的那些次级关键字。次级关键字及其相对位置和初级关键字的组合然后被添加到各文件的布隆过滤器。
短语搜索同样由本发明的实施例提供。短语搜索询问的关键字按字母排序。经排序的关键字作为初级关键字,其它关键字作为次级关键字(参见图12的示例)。创建各次级关键字及其相对位置和初级关键字的组合。然后以诸如上述散列方法的方式来选择对应于初级关键字的对等点。从所识别节点中的倒排索引/置入列表选出包含全部次级关键字/位置组合的全部文件,且向用户提供那些文件的地址作为最终结果。
另外,本发明的方面提供基于关键字组合的索引划分。当今因特网中的可用信息数量巨大,通过贯穿形形色色的计算机划分索引提供显著益处,尤其因为极少计算机可存储全部所需信息且具有执行高效搜索的足够的处理速度。
在解决基于关键字组合的索引划分的本发明实施例的索引方面中,贯穿多个节点/对等点的索引划分基于关键字组合。对于各关键字仅存储前k个最相关文件地址,由此仅采用各域的n个最相关页,其中n和k是基于系统的期望性能的预定整数。本方法的方面提供域崩溃,其在搜索期间对每个域仅给出n个最相关结果。这些方法显著减小所需索引空间并消除在若干对等点上分布长置入列表的问题,其将妥协分布式散列表(DHT)原理的性能。图10示出一示例,在其中创建关键字组合,且为了限制可能来自于较长可能搜索字符串的可能的巨大术语空间,仅根据来自于网页的那些关键字创建组合,其已具有存储在索引中的前k个最相关页面。仅创建那些关键字组合,这些关键字不包含具有少于存储在索引中的前k个最相关页面的较短关键字组合。索引中的每个服务器/对等点负责一定范围的关键字组合。然后网址还被存储到对于已生成关键字组合负责的各服务器/对等点。这些步骤确保各关键字组合的前k个结果,并因此确保各询问的前k个结果。在附加实施例中,以下步骤方法进一步减少已生成关键字组合的成员:(1)通过将字转换成其词干(干化)来减少不同术语的数量并移除停止字(高频术语,如和、或、他、它…);以及(2)在字的滑动窗口距离内的关键字用于生成关键字组合。
在解决基于关键字组合的索引划分的本发明实施例的索引方面中,在搜索期间,生成由用户提供的搜索字符串/询问中的全部关键字组合。仅根据来自询问的那些关键字创建关键字组合,其已具有存储在索引中的前k个最相关页面。在询问时,仅询问那些负责询问关键字或关键字组合的服务器/对等点。如果询问包含单个关键字,则将具有该关键字的所有文件的地址返回给用户作为结果。如果询问包含多个关键字,则询问负责询问关键字或已生成关键字组合的服务器/对等点。具有该关键字或关键字组合的全部文件的地址返回作为结果,其包含在其布隆过滤器中的询问的全部关键字。
“基于关键字组合的划分”与“分布式索引中的时间及空间高效布尔搜索”和“布隆过滤器压缩的索引的短语搜索”相结合。
通过考虑说明书和实施本文所公开的发明,本发明的其它实施例对于本领域技术人员将变得显而易见。旨在认为说明书和示例仅仅是示例性的,而本发明的真实范围和精神由所附权利要求指明。

Claims (68)

1.一种系统,包括:
对等网络节点;
可用的对等网络,所述对等网络连接到所述对等网络节点并配置成与所述对等网络节点交互操作;以及
其中,所述对等网络节点包括逻辑,所述逻辑用于执行软件以便:
将文件语法分析成搜索术语列表中的关键字;
对所述搜索术语列表内的关键字进行排序;
针对所述搜索术语列表中的每个已排序的关键字:
将所排序的关键字识别为初级关键字;
确定对应于所述对等网络中的主节点的唯一节点标识符,所述主节点配置成:
存储包括对应于所述文件的所述初级关键字及标识符的倒排索引条目;以及
将字符串存储在所述主节点上所存储的布隆过滤器数据结构中;
识别所述搜索术语列表中的一个或多个次级关键字;
将所述初级关键字和所述文件标识符存储在所述主节点中所存储的所述倒排索引中;以及
将所述一个或多个次级关键字存储在所述布隆过滤器数据结构中。
2.如权利要求1所述的系统,其特征在于,所述逻辑是配置有处理器的计算机,所述处理器耦合到:存储器、显示器、用户接口、以及网络接口。
3.如权利要求1所述的系统,其特征在于,来自所述文件的全部术语被排序并用作所述搜索术语列表内的单独的初级关键字。
4.如权利要求3所述的系统,其特征在于,所述排序以字母数字顺序来执行。
5.如权利要求1所述的系统,其特征在于,还包括将所述搜索术语列表内的关键字的大小写改变成小写。
6.如权利要求1所述的系统,其特征在于,还包括从所述搜索术语列表移除重复关键字。
7.如权利要求1所述的系统,其特征在于,还包括从所述搜索术语列表移除停止字。
8.如权利要求1所述的系统,其特征在于,如果次级关键字的排序比所述初级关键字低,则一个或多个次级关键字被存储在所述布隆过滤器数据结构中。
9.如权利要求1所述的系统,其特征在于,确定对应于所述对等网络中的主节点的唯一节点标识符还包括获取所述初级关键字的散列值以及确定最接近所述散列值的唯一节点标识符。
10.如权利要求9所述的系统,其特征在于,所述初级关键字包含多个关键字。
11.如权利要求1所述的系统,其特征在于,所述软件还确定一个或多个次级关键字离所述初级关键字的距离。
12.如权利要求12所述的系统,其特征在于,所述软件将所述一个或多个次级关键字字符串的距离存储在所述布隆过滤器数据结构中。
13.如权利要求1所述的系统,其特征在于,存储在所述倒排索引中的所述初级关键字还包括多个关键字。
14.如权利要求1所述的系统,其特征在于,确定对应于所述对等网络中的主节点的唯一节点标识符还包括确定所述对等网络中的哪个节点存储包含初级关键字的倒排索引,所述初级关键字具有多个关键字。
15.一种用于索引对等网络体系结构内要被搜索的文件的方法,所述方法包括:
将文件语法分析成搜索术语列表中的关键字;
对所述搜索术语列表内的所述关键字进行排序;
针对所述搜索术语列表中的每个已排序的关键字:
将所排序的关键字识别为初级关键字;
确定对应于所述对等网络中的主节点的唯一节点标识符,由此所述主节点:
存储包括对应于所述文件的所述初级关键字及标识符的倒排索引条目;
将字符串存储在所述主节点上所存储的布隆过滤器数据结构中;
识别所述搜索术语列表中的一个或多个次级关键字;
将所述初级关键字和所述文件标识符存储在所述主节点中所存储的倒排索引中;以及
将所述一个或多个次级关键字存储在所述布隆过滤器数据结构中。
16.如权利要求15所述的方法,其特征在于,还包括对来自所述文件的全部术语排序并将全部术语用作所述搜索术语列表内的单独的初级关键字。
17.如权利要求16所述的方法,其特征在于,所述排序以字母数字顺序来执行。
18.如权利要求15所述的方法,其特征在于,还包括将所述搜索术语列表内的关键字的大小写改变成小写。
19.如权利要求15所述的方法,其特征在于,还包括从所述搜索术语列表移除重复关键字。
20.如权利要求15所述的方法,其特征在于,还包括从所述搜索术语列表移除停止字。
21.如权利要求15所述的方法,其特征在于,如果次级关键字的排序比所述初级关键字低,则一个或多个次级关键字被存储在所述布隆过滤器数据结构中。
22.如权利要求15所述的方法,其特征在于,确定对应于所述对等网络中的主节点的唯一节点标识符还包括获取所述初级关键字的散列值以及确定最接近所述散列值的唯一节点标识符。
23.如权利要求22所述的方法,其特征在于,所述初级关键字包含多个关键字。
24.如权利要求15所述的方法,其特征在于,还包括通过所述软件来确定一个或多个次级关键字离所述初级关键字的距离。
25.如权利要求24所述的方法,其特征在于,所述软件将所述一个或多个次级关键字字符串的距离存储在所述布隆过滤器数据结构中。
26.如权利要求15所述的方法,其特征在于,存储在所述倒排索引中的所述初级关键字还包括多个关键字。
27.如权利要求15所述的方法,其特征在于,确定对应于所述对等网络中的主节点的唯一节点标识符还包括确定所述对等网络中的哪个节点存储包含初级关键字的倒排索引,所述初级关键字具有多个关键字。
28.一种系统,包括:
对等网络节点;
可用的对等网络,所述对等网络连接到对等网络节点并配置成与对等网络节点交互操作;
其中,所述对等网络节点包括逻辑,所述逻辑用于执行软件以便:
从搜索字符串获取初级关键字;
从所述搜索字符串获取一个或多个次级关键字;
确定对应于所述对等网络中的主节点的唯一节点标识符,其中所述主节点:
将包括初级关键字和基准标识符的倒排索引存储到包含所述初级关键字的文件;以及
将对应于一个或多个相关字符串的布隆函数数据结构存储到所述文件内;以及
其中,所述软件通过确定一个或多个次级关键字是否已被存储在所述布隆函数数据结构内来确定所述一个或多个次级关键字是否存在于所述文件内。
29.如权利要求28所述的系统,其特征在于,所述逻辑是配置有处理器的计算机,所述处理器耦合到:存储器、显示器、用户接口、以及网络接口。
30.如权利要求28所述的系统,其特征在于,所述逻辑还配置成格式化报告给用户,所述报告包括包含对应于以下关键字的至少一个的文件的地址列表,这些关键字有:
所述初级关键字;以及
存储在所述布隆函数数据结构内的所述一个或多个次级关键字。
31.如权利要求28所述的系统,其特征在于,通过按预定排序标准对来自所述搜索字符串的搜索术语进行排序并选择排位最高的搜索术语作为所述初级关键字来获取所述初级关键字。
32.如权利要求31所述的系统,其特征在于,所述排序标准是字母数字顺序。
33.如权利要求28所述的系统,其特征在于,还包括将所述搜索字符串内的关键字的大小写改成小写。
34.如权利要求28所述的系统,其特征在于,还包括从所述搜索字符串移除重复关键字。
35.如权利要求28所述的系统,其特征在于,还包括从所述搜索字符串移除停止字。
36.如权利要求28所述的系统,其特征在于,如果次级关键字的排序比所述初级关键字低,在所述布隆过滤器数据结构中搜索次级关键字。
37.如权利要求28所述的系统,其特征在于,确定对应于所述对等网络中的主节点的唯一节点标识符还包括获取所述初级关键字的散列值以及确定最接近所述散列值的唯一节点标识符。
38.如权利要求28所述的系统,其特征在于,所述软件进一步确定全部多个次级关键字存在于所述布隆函数数据结构中。
39.如权利要求38所述的系统,其特征在于,所述软件进一步确定全部次级关键字的离所述初级关键字的全部距离指示符存在于所述布隆函数数据结构中。
40.如权利要求40所述的系统,其特征在于,所述软件进一步确定所述距离在预定的关键字距离内。
41.如权利要求40所述的系统,其特征在于,存储在所述倒排索引中的所述初级关键字还包括多个关键字。
42.如权利要求28所述的系统,其特征在于,确定对应于所述对等网络中的主节点的唯一节点标识符还包括确定所述对等网络中的哪个节点存储包含初级关键字的倒排索引,所述初级关键字具有预定的多个关键字。
43.一种用于搜索在对等网络体系结构中索引的一个或多个文件的方法,所述方法包括:
从搜索字符串获取初级关键字;
从所述搜索字符串获取一个或多个次级关键字;
确定对应于所述对等网络中的主节点的唯一节点标识符,其中所述主节点:
将包括所述初级关键字和基准标识符的倒排索引存储到包含所述初级关键字的文件;以及
将对应于一个或多个相关字符串的布隆函数数据结构存储到所述文件内;以及
其中,所述软件通过确定一个或多个次级关键字是否已被存储在所述布隆函数数据结构内来确定所述一个或多个次级关键字是否存在于所述文件内。
44.如权利要求43所述的方法,其特征在于,还包括格式化报告给用户,所述报告包括含有对应于以下关键字的至少一个的文件的地址列表,所述关键字有:所述初级关键字;以及存储在所述布隆函数数据结构内的一个或多个次级关键字。
45.如权利要求43所述的方法,其特征在于,通过按预定排序标准对来自所述搜索字符串的搜索术语进行排序并选择排位最高的搜索术语作为所述初级关键字来获取所述初级关键字。
46.如权利要求45所述的方法,其特征在于,所述排序标准是字母数字顺序。
47.如权利要求43所述的方法,其特征在于,还包括将所述搜索术语列表内的关键字的大小写改变成小写。
48.如权利要求43所述的方法,其特征在于,还包括从所述搜索字符串移除重复关键字。
49.如权利要求43所述的方法,其特征在于,还包括从所述搜索字符串移除停止字。
50.如权利要求43所述的方法,其特征在于,如果次级关键字的排序比所述初级关键字低,则在所述布隆过滤器数据结构中搜索次级关键字。
51.如权利要求43所述的方法,其特征在于,确定对应于所述对等网络中的主节点的唯一节点标识符还包括获取所述初级关键字的散列值以及确定最接近所述散列值的唯一节点标识符。
52.如权利要求51所述的方法,其特征在于,所述软件进一步确定全部多个次级关键字存在于所述布隆函数数据结构中。
53.如权利要求43所述的方法,其特征在于,所述软件进一步确定全部次级关键字的离所述初级关键字的全部距离指示符存在于所述布隆函数数据结构中。
54.如权利要求53所述的方法,其特征在于,所述软件进一步确定所述距离在预定关键字距离内。
55.如权利要求53所述的方法,其特征在于,存储在所述倒排索引中的所述初级关键字还包括多个关键字。
56.如权利要求43所述的方法,其特征在于,确定对应于所述对等网络中的主节点的唯一节点标识符还包括确定所述对等网络中的哪个节点存储包含初级关键字的倒排索引,所述初级关键字具有预定的多个关键字。
57.一种系统,包括:
对等网络节点;
可用的对等网络,所述对等网络连接到所述对等网络节点并配置成与所述对等网络节点交互操作;
用于针对搜索索引文件的装置,所述索引基于关键字组合执行并且在所述网络中的多个节点之间被划分;以及
用于通过贯穿所述网络中的多个节点索引的多个关键字组合来搜索经索引的文件的装置。
58.一种系统,包括:
对等网络节点;
可用的对等网络,所述对等网络连接到所述对等网络节点并配置成与所述对等网络节点交互操作;以及
其中,所述对等网络节点包括逻辑,所述逻辑用于执行软件以便:
将文件语法分析成搜索术语列表中的单独的关键字;
对所述搜索术语列表内的所述关键字进行排序;
针对所述搜索术语列表中的每个已排序的关键字:
(i)创建涉及包括所排序关键字的至少一个实例的一个或多个网页的地址列表;
(ii)根据相关性对所述地址列表进行排序;以及
(iii)将所述地址列表减少到k个最相关的地址,其中k是预定数字;
从所述搜索术语列表创建询问索引术语集合,所述索引询问术语集合包括来自所述搜索术语列表的关键字及来自所述搜索术语列表的关键字组合中的至少一个;
从所述询问索引术语集合移除表示较短关键字组合的至少一个关键字组合;以及
针对所述集合中的每个其余的询问索引术语:
(i)将所述询问索引术语识别为初级询问索引术语;
确定对应于所述对等网络中的主节点的唯一节点标识符,所述主节点配置成:
存储包括所述初级询问索引术语及对应于所述询问索引术语的k个最相关地址的标识符的倒排索引条目;以及
将字符串存储在存储于所述主节点上的布隆过滤器数据结构中;
(ii)识别一个或多个次级询问索引术语;
(iii)将所述初级询问索引术语及对应于所述询问索引术语的k个最相关地址的标识符存储在所述主节点的倒排索引中;以及
(iv)将一个或多个次级询问索引术语及它们各自相关联的k个最相关地址存储在所述布隆过滤器数据结构中。
59.如权利要求58所述的系统,其特征在于,所述逻辑是配置有处理器的计算机,所述处理器耦合到:存储器、显示器、用户接口、以及网络接口。
60.如权利要求58所述的系统,其特征在于,来自所述文件的全部术语以字母数字顺序排序;以及
全部术语用作所述搜索术语列表内的单独的初级关键字。
61.如权利要求58所述的系统,其特征在于,还包括将所述搜索术语列表内的关键字的大小写改变成小写。
62.如权利要求58所述的系统,其特征在于,还包括将所述搜索术语列表中的关键字形成为根干字。
63.如权利要求58所述的系统,其特征在于,还包括从所述搜索术语列表移除重复关键字。
64.如权利要求58所述的系统,其特征在于,还包括从所述搜索术语列表移除停止字。
65.如权利要求58所述的系统,其特征在于,如果次级关键字的排序比所述初级关键字低,则一个或多个次级关键字被存储在所述布隆过滤器数据结构中。
66.如权利要求58所述的系统,其特征在于,确定对应于所述对等网络中的主节点的唯一节点标识符还包括获取所述初级关键字的散列值以及确定最接近所述散列值的唯一节点标识符。
67.如权利要求58所述的系统,其特征在于,关键字组合被创建成不包括具有少于存储在索引中的前k个最相关页面的较短关键字组合。
68.如权利要求58所述的系统,其特征在于,所述系统还配置成:
从搜索字符串获取初级关键字;
从搜索字符串获取一个或多个次级关键字,次级关键字包括来自搜索字符串的单个字或字组合中的至少一个;
创建包括来自所述初级和次级关键字的一个或多个关键字组合的有限搜索集合,其中初级和次级关键字元素中的每一个具有存储在所述倒排索引中的前k个最相关页面;
识别在倒排索引中存储来自搜索有限搜索集合的至少一个关键字的所述对等网络的一个或多个主节点;
针对每个所识别的主节点:
(i)如果存储在所述主节点的所述倒排索引中的关键字是单个字,格式化报告给用户,所述报告包含由所述倒排索引中的关键字所提及的所有文件的地址;
(ii)如果所述主节点的所述倒排索引中的关键字包括多个字,格式化报告给用户,所述报告包含所述关键字的所述布隆过滤器数据结构条目所提及的所有文件的地址。
CN2009801503556A 2008-10-13 2009-10-13 用于电子内容的分布式索引搜索的系统及方法 Pending CN102246172A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10484808P 2008-10-13 2008-10-13
US61/104,848 2008-10-13
PCT/IB2009/007324 WO2010043970A2 (en) 2008-10-13 2009-10-13 System and method for distributed index searching of electronic content

Publications (1)

Publication Number Publication Date
CN102246172A true CN102246172A (zh) 2011-11-16

Family

ID=42099846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801503556A Pending CN102246172A (zh) 2008-10-13 2009-10-13 用于电子内容的分布式索引搜索的系统及方法

Country Status (4)

Country Link
US (2) US8359318B2 (zh)
EP (1) EP2347345A2 (zh)
CN (1) CN102246172A (zh)
WO (1) WO2010043970A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609446A (zh) * 2012-01-05 2012-07-25 厦门市美亚柏科信息股份有限公司 一种分布式Bloom过滤系统及其使用方法
CN104115146A (zh) * 2012-02-14 2014-10-22 阿尔卡特朗讯公司 在分布式系统中存储和搜索带标签的内容项的方法
CN104850564A (zh) * 2014-02-18 2015-08-19 腾讯科技(深圳)有限公司 数据文件的索引查找方法和系统

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032550B2 (en) * 2009-05-11 2011-10-04 Red Hat, Inc. Federated document search by keywords
US8032551B2 (en) * 2009-05-11 2011-10-04 Red Hat, Inc. Searching documents for successive hashed keywords
US8739125B2 (en) * 2009-06-16 2014-05-27 Red Hat, Inc. Automated and unattended process for testing software applications
US8996568B2 (en) * 2009-07-14 2015-03-31 Qualcomm Incorporated Methods and apparatus for efficiently processing multiple keyword queries on a distributed network
WO2012049883A1 (ja) * 2010-10-15 2012-04-19 日本電気株式会社 データ構造、インデックス作成装置、データ検索装置、インデックス作成方法、データ検索方法およびコンピュータ読み取り可能な記録媒体
WO2012087188A1 (en) * 2010-12-20 2012-06-28 Telefonaktiebolaget L M Ericsson (Publ) Searching in peer to peer networks
JP5716554B2 (ja) * 2011-06-06 2015-05-13 富士通株式会社 検索プログラム、検索方法、検索装置、およびノード
DE102011055384A1 (de) * 2011-11-15 2013-05-16 Artec Computer Gmbh Verfahren zum sicheren Suchen, Finden, Wiedergeben, Wiederherstellen und/oder Exportieren von elektronischen Daten
US20140164115A1 (en) * 2012-12-07 2014-06-12 Elwha Llc Systems for facilitating third-party art submissions
US9251133B2 (en) 2012-12-12 2016-02-02 International Business Machines Corporation Approximate named-entity extraction
US10049163B1 (en) * 2013-06-19 2018-08-14 Amazon Technologies, Inc. Connected phrase search queries and titles
US9715533B2 (en) 2013-07-02 2017-07-25 Ebay Inc. Multi-dimensional search
US10453071B2 (en) * 2013-09-09 2019-10-22 UnitedLex Corp. Interactive case management system
US9846740B2 (en) * 2013-09-09 2017-12-19 Mimecast Services Ltd. Associative search systems and methods
US9477731B2 (en) * 2013-10-01 2016-10-25 Cloudera, Inc. Background format optimization for enhanced SQL-like queries in Hadoop
US20150112996A1 (en) 2013-10-23 2015-04-23 Microsoft Corporation Pervasive search architecture
CN104679778B (zh) * 2013-11-29 2019-03-26 腾讯科技(深圳)有限公司 一种搜索结果的生成方法及装置
US10706098B1 (en) * 2016-03-29 2020-07-07 A9.Com, Inc. Methods to present search keywords for image-based queries
US10713305B1 (en) * 2016-09-29 2020-07-14 EMC IP Holding Company LLC Method and system for document search in structured document repositories
US10482096B2 (en) 2017-02-13 2019-11-19 Microsoft Technology Licensing, Llc Distributed index searching in computing systems
US11379504B2 (en) 2017-02-17 2022-07-05 International Business Machines Corporation Indexing and mining content of multiple data sources
US11334606B2 (en) 2017-02-17 2022-05-17 International Business Machines Corporation Managing content creation of data sources
US11474987B1 (en) * 2018-11-15 2022-10-18 Palantir Technologies Inc. Image analysis interface
CN110442773B (zh) * 2019-08-13 2023-07-18 深圳市网心科技有限公司 分布式系统中节点缓存方法、系统、装置及计算机介质
US11669626B2 (en) * 2021-03-18 2023-06-06 Citrix Systems, Inc. Resource access with use of bloom filters
CN117131209B (zh) * 2023-10-26 2024-02-13 中国传媒大学 基于区块链的加密数据的短语搜索和验证方法及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843389A (en) * 1986-12-04 1989-06-27 International Business Machines Corp. Text compression and expansion method and apparatus
US6026429A (en) * 1995-06-07 2000-02-15 America Online, Inc. Seamless integration of internet resources
US20020040363A1 (en) * 2000-06-14 2002-04-04 Gadi Wolfman Automatic hierarchy based classification
US7409406B2 (en) * 2003-09-08 2008-08-05 International Business Machines Corporation Uniform search system and method for selectively sharing distributed access-controlled documents
US7620624B2 (en) * 2003-10-17 2009-11-17 Yahoo! Inc. Systems and methods for indexing content for fast and scalable retrieval
US7849063B2 (en) * 2003-10-17 2010-12-07 Yahoo! Inc. Systems and methods for indexing content for fast and scalable retrieval
US7457813B2 (en) * 2004-10-06 2008-11-25 Burnside Acquisition, Llc Storage system for randomly named blocks of data
US7765214B2 (en) 2005-05-10 2010-07-27 International Business Machines Corporation Enhancing query performance of search engines using lexical affinities
TW200821913A (en) 2006-11-15 2008-05-16 Univ Nat Chiao Tung String matching system by using bloom filter to achieve sub-linear computation time and method thereof
US20080195597A1 (en) * 2007-02-08 2008-08-14 Samsung Electronics Co., Ltd. Searching in peer-to-peer networks
US7949657B2 (en) * 2007-12-11 2011-05-24 Microsoft Corporation Detecting zero-result search queries

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609446A (zh) * 2012-01-05 2012-07-25 厦门市美亚柏科信息股份有限公司 一种分布式Bloom过滤系统及其使用方法
CN102609446B (zh) * 2012-01-05 2013-12-25 厦门市美亚柏科信息股份有限公司 一种分布式Bloom过滤系统及其使用方法
CN104115146A (zh) * 2012-02-14 2014-10-22 阿尔卡特朗讯公司 在分布式系统中存储和搜索带标签的内容项的方法
CN104850564A (zh) * 2014-02-18 2015-08-19 腾讯科技(深圳)有限公司 数据文件的索引查找方法和系统
CN104850564B (zh) * 2014-02-18 2019-07-05 腾讯科技(深圳)有限公司 数据文件的索引查找方法和系统

Also Published As

Publication number Publication date
WO2010043970A3 (en) 2010-08-26
US20100094877A1 (en) 2010-04-15
EP2347345A2 (en) 2011-07-27
WO2010043970A2 (en) 2010-04-22
US20130138660A1 (en) 2013-05-30
US8359318B2 (en) 2013-01-22
US8938459B2 (en) 2015-01-20

Similar Documents

Publication Publication Date Title
CN102246172A (zh) 用于电子内容的分布式索引搜索的系统及方法
US9424351B2 (en) Hybrid-distribution model for search engine indexes
US8117215B2 (en) Distributing content indices
Cambazoglu et al. Scalability challenges in web search engines
US6772141B1 (en) Method and apparatus for organizing and using indexes utilizing a search decision table
CN110321325B (zh) 文件索引节点查找方法、终端、服务器、系统及存储介质
US20160275178A1 (en) Method and apparatus for search
Yagoubi et al. Massively distributed time series indexing and querying
CN104536959A (zh) 一种Hadoop存取海量小文件的优化方法
CN101315640A (zh) 一种目录管理方法和装置
CN100458784C (zh) 在数字图书馆中所采用的检索系统和检索方法
US20120130984A1 (en) Dynamic query master agent for query execution
CN103353901A (zh) 基于Hadoop分布式文件系统的表数据的有序管理方法以及系统
CN105404677A (zh) 一种基于树形结构的检索方法
Kumar et al. M-Grid: a distributed framework for multidimensional indexing and querying of location based data
Xu et al. Enhancing HDFS with a full-text search system for massive small files
Tanin et al. An efficient nearest neighbor algorithm for P2P settings
CN112597369A (zh) 基于改良云平台的网页蜘蛛主题式搜索系统
US20100180057A1 (en) Data Structure For Implementing Priority Queues
Bocek et al. Fast similarity search in peer-to-peer networks
Karanasos et al. The ViP2P platform: XML views in P2P
Wang et al. Keyword search technology in content addressable storage system
KR100434718B1 (ko) 문서 색인 시스템 및 그 방법
Deng et al. An indexing approach for efficient supporting of continuous spatial approximate keyword queries
Luo et al. Accelerate data retrieval by multi-dimensional indexing in switch-centric data centers

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111116