CN101546342A - 实现搜索服务的方法与系统 - Google Patents

实现搜索服务的方法与系统 Download PDF

Info

Publication number
CN101546342A
CN101546342A CN200910136443A CN200910136443A CN101546342A CN 101546342 A CN101546342 A CN 101546342A CN 200910136443 A CN200910136443 A CN 200910136443A CN 200910136443 A CN200910136443 A CN 200910136443A CN 101546342 A CN101546342 A CN 101546342A
Authority
CN
China
Prior art keywords
index
data
class
module
correspondence
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
CN200910136443A
Other languages
English (en)
Other versions
CN101546342B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN2009101364432A priority Critical patent/CN101546342B/zh
Publication of CN101546342A publication Critical patent/CN101546342A/zh
Priority to HK10102550.6A priority patent/HK1134573A1/xx
Priority to US12/800,015 priority patent/US8977623B2/en
Priority to EP10772392A priority patent/EP2427834A4/en
Priority to JP2012509810A priority patent/JP5661104B2/ja
Priority to PCT/US2010/001359 priority patent/WO2010129063A1/en
Application granted granted Critical
Publication of CN101546342B publication Critical patent/CN101546342B/zh
Priority to US14/601,994 priority patent/US20150199433A1/en
Active 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • 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
    • G06F16/316Indexing structures
    • 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/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • 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

Abstract

本申请提供一种实现搜索服务的方法与系统,以解决现有技术中索引写入共享冲突以及搜索效率较低的问题。在实施例中根据预设的数据分类方式划分数据源中的数据,在划分得到的每类数据与预设的索引之间建立对应关系;根据每类数据,按所述对应关系将数据写入该类数据对应的索引中;当接收到搜索指令时,根据收到的搜索指令确定索引,根据确定的索引输出数据。根据本申请实施例的技术方案,能够避免索引写入的共享冲突问题并能获得较高的搜索效率。

Description

实现搜索服务的方法与系统
技术领域
本申请涉及计算机技术领域,特别地涉及一种实现搜索服务的方法与系统。
背景技术
随着信息技术的发展,各种应用场合中的信息量也在急速增加,为了帮助人们从海量的信息中找到自身所需信息,目前出现了一些搜索服务,能够根据用户提供的关键字或对搜索目标的描述信息,从数据源中进行全文搜索并将搜索到的数据提供给用户。
在实现搜索服务时,需要将数据源中的数据转化为索引并保存起来,这个过程通常称作索引的写入。索引是按一定规则整理的数据,因为用户在搜索时通常给出文本格式的关键字,所以相应地索引也通常为文本格式,以实现按关键字进行全文搜索,有些搜索引擎中,索引的内容包含在搜索引擎提供的网页快照中。索引包含了有关数据源中的各种信息,对于数据源中的文本,索引可以包含这些文本,对于数据源中的图像文件以及音频、视频等非文本格式的文件,在索引中可以保存这些文件的来源的字段,例如它们在互联网上的地址字段。索引的写入工作通常由索引服务器完成。当用户进行搜索时,由搜索服务器接收用户给出的搜索条件,然后根据该搜索条件确定用户所需数据保存在哪个索引中,再从该索引中进一步进行查找,查找到保存的索引之后将其中的信息提供给用户。
为了将大量数据转化为索引,通常会使用多个索引服务器进行索引写入工作。索引服务器按一定次序提取数据,例如按时间顺序提取邮件,或者按序号提取数据库记录中的条目,在提取之后标记被提取数据为“已提取”,在这种情况下对于相同的数据,可能会被不同的索引服务器同时提取并写到不同的索引中从而造成索引写入的共享冲突。
另外,对于已经形成的索引,如果其容量较大,例如字节数超过1G,则从索引中进一步查找所需内容的时间较长,从而降低了搜索效率。另一方面,如果索引容量过小,则在搜索时需打开多个索引,也会降低搜索效率。
因此在目前的搜索服务中存在索引写入共享冲突以及搜索效率较低的问题,需要新的方法来实现搜索服务。
发明内容
本申请的主要目的是提供一种实现搜索服务的方法与系统,以解决现有技术中索引写入共享冲突以及搜索效率较低的问题。
为解决上述问题,本申请提供如下的技术方案:
一种实现搜索服务的方法,包括:
根据预设的数据分类方式划分数据源中的数据,在划分得到的每类数据与预设的索引之间建立对应关系;
根据所述对应关系将每类数据写入该类数据对应的索引中;
当接收到搜索指令时,根据收到的搜索指令确定索引,根据确定的索引输出数据。
所述按所述对应关系将数据写入该类数据对应的索引中包括:
将所述一类数据分配到一个索引写入装置;
索引写入装置根据每类数据,按所述对应关系将数据写入该类数据对应的索引中。
所述预设的索引中,单个索引的最大容量预先设定,并根据所述数据源的容量和预先设定的单个索引的最大容量确定所述预设的索引的份数。
一种实现搜索服务的系统,包括:
划分模块,用于根据预设的数据分类方式划分数据源中的数据,并保存划分得到的每类数据与预设的索引之间的对应关系;
索引写入模块,在所述系统中设有一个或多个,用于根据所述对应关系,将每类数据写入该类数据对应的索引中;
索引存储模块,用于保存索引。
所述系统进一步包括:
分配模块,用于按每一类数据分配到一个索引写入模块的规则将所述数据分配到索引写入模块;
所述索引写入模块进一步用于根据每类数据,按所述对应关系将数据写入该类数据对应的索引中。
所述系统进一步包括:
源数据存储模块,用于保存数据源中的数据;
搜索模块,用于接收搜索指令,以及根据收到的搜索指令确定索引存储模块中的索引,根据确定的索引输出数据。
根据本申请实施例的技术方案,通过将数据源中的数据划分并且使划分得到的每类数据与索引相对应,在数据写入索引时按这种对应关系进行写入操作,这样避免了索引写入的共享冲突问题,并且在获取某一类数据的信息时只需从该类数据所对应的索引中进行查找,有较高的搜索效率。并且在本申请实施例中,通过合适地选择索引的容量使索引的容量不至于太大或太小,能够避免在过大的索引中进行查找而导致的效率低下,并且在获取某些涉及面较广的数据时也避免了打开太多的容量较小的索引,这些都有助于提高搜索效率,从而提高搜索服务的质量。
附图说明
图1为应用本申请实施例技术方案的网络的结构示意图;
图2为本申请实施例中的方法流程图;
图3为本申请实施例中的装置结构示意图。
具体实施方式
下面结合附图对本申请实施例的技术方案进行说明,附图作为理解本申请技术方案的辅助方式,本申请的技术方案在各种实现中不限于附图的形式。
本申请实施例的技术方案可以应用到图1所示的网络结构中,如图1,用户通过终端设备10访问搜索服务器11,向搜索服务器发送搜索指令,搜索指令中一般包含用户提出的关键字,该关键字指示了用户所需数据的一个范围或者说一个特征,例如用户需要获取邮件服务器中他自己的所有邮件,则关键字可以是他的邮件地址;又如用户需要获取商品信息,则关键字可以是商品的型号。网络中可以存在多台终端设备10,如图中所示。
搜索服务器11在收到搜索指令时,从搜索指令中分析得出关键字,根据关键字确定索引。因为索引是按照规则整理的数据,该规则一般来说匹配于用户的搜索行为,例如,对于邮件服务器保存的海量邮件,可以将邮件中的数据,包括邮件的文本以及邮件中的其他格式的文件的链接地址写到预先设置的若干个索引中,每个索引包含一个或几个邮件地址的邮件。并且记录每个邮件地址的邮件中的数据被写到了哪个索引,于是当搜索服务器收到用于搜索邮件的搜索指令时,该指令一般来说包含了用户的邮件地址,于是根据该邮件地址以及上述的记录,即可确定该邮件地址被整理到的索引。
索引可以保存在索引存储装置12中,它与索引服务器13连接,索引服务器13的任务是将数据存储装置14中的数据按一定的规则写入索引存储装置12中。数据存储装置14中的数据量可能在不断地增长,例如网络侧保存的用户邮件数量可能随时间的推移在不断地增加。在本实施例中,为了能够尽可能快地向用户提供搜索结果,单个索引的容量被限制在一定的范围,既不能太大也不能太小,这是因为如果单个索引的容量过大,从这种容量过大的索引中进一步搜索数据就会耗时较长;如果单个索引的容量太小,则势必形成大量索引,因为打开一份索引较为耗时,所以索引数量不宜太多。这样,可以给出单个索引容量的上限,并且根据具体应用场景下的数据特点以及搜索服务器11的性能,从数据存储装置14中划出一部分数据作为索引存储装置12的数据源,该数据源的容量则是一定的,将该容量除以给出的单个索引容量的上限再向上取整,就得到了一个正整数,该正整数表明该数据源中的数据经过整理后得到的容量接近于给出的单个索引容量上限的索引的份数。至于数据存储装置14中的其他数据,则可以按照同样的方法确定这些数据整理得到的索引的份数。
在实现搜索服务时,可以按图2所示的流程进行,具体包括如下步骤:
步骤21:划分数据源中的数据。
步骤22:在划分得到的每类数据与预设的索引之间建立对应关系。
步骤23:索引写入装置将数据写入索引。
完成步骤21~23之后就形成了索引,索引中包含了数据源中数据的信息。此时可以按索引中的内容向用户提供信息。当接收到来自于用户的搜索指令时,根据收到的搜索指令确定索引,根据确定的索引输出数据给用户。输出的数据具体可以是数据源中的文本,也可以包括数据源中其他数据在互联网中的地址,例如图象的地址以及音频或视频控件所链接的地址。
在步骤21中,划分数据源中的数据时,应当按照一定的规则进行,这个规则可以从预设的数据分类方式中得到。这里的数据分类方式具体根据数据源中数据本身的性质来确定。例如数据源中包含若干用户的邮件,那么就可以按照邮件地址对数据分类,于是划分数据时就按邮件地址进行划分。
步骤22中的索引是预先设定的,具体需要设定单个索引的最大容量,然后根据数据源的容量和单个索引的最大容量确定预设的索引的份数。一方面,索引越大,在该索引中查找数据所需时间越长;另一方面,在打开每一份索引时需要的时间较长,因此要尽量减少索引的数目,这样每份索引就比较大。综合上述两个方面,单个索引的最大容量可以根据系统的处理能力的配置来确定。在一些实现中,单个索引的最大容量是1G字节。下面对建立步骤22中的对应关系的方法作出说明。
设数据源中的数据总容量为T,若确定的单个索引的最大容量是M,则索引的份数是计算T÷M然后向上取整。在确定了索引的份数之后,将这些索引按正整数连续编号,可以将该编号保存在索引文件中或索引文件名中。对于步骤21中划分得到的每类数据,分配唯一的整数值,即每类数据与其他类数据分配到的整数值各不相同。为此,在本实施例中,利用与每类数据唯一对应的字段来得到该唯一的整数值。与每类数据唯一对应的字段同样可以从数据的分类方式中得到,例如邮件地址具有唯一性。以邮件地址为例,提取各个用户的邮件,然后将各个用户的邮件地址的字段按同样的规则映射为数字,可以采用字段中各字符的ASCII码进行映射,再使用哈希算法或其他散列算法对映射得到的数字作进一步数值计算得到一个整数值。如果对当前的一类数据计算得到的唯一的整数值为H,以及索引的份数为N,则用H%N进行计算得到一个数值,将索引编号等于该数值的索引作为与当前的这类数据相对应的索引。H%N表示用H除以N之后取余数。根据这样的算法,多类数据可以对应于一份索引。这里对每类数据分配唯一整数值的方法仅为举例,也可以使用其他方式进行,只要保证在建立数据与索引的对应关系时每一类数据仅对应于一份索引即可。在建立了一类数据与一份索引的对应关系之后,记录该份索引具体对应了哪些类数据,并且可以检查一下与该份索引对应的各类数据的数据总量是否超出设定的单个索引最大容量,若超出则可以将该类数据中超出该份索引的部分与下一份索引进行对应,同样可以对按索引编号进行的下一份索引进行同样的检查。对于上述超出的部分数据,应当记录这些数据是对应了下一份索引。这样,向用户提供某类数据时,至多从两份索引中进行查找,有助于提高查找速度。在各种实现中,因为每次查找涉及的数据容量远小于单个索引容量,例如在一份索引中保存了某部门所有人员的邮件索引,则每个人员的邮件索引大小远小于该份索引大小,因此可以在写索引时作调整,将同一邮件地址的邮件数据写到同一份索引中,使每人所有邮件的索引保存在同一份索引,这样每个人员搜索自己邮件时只在一份索引中进行搜索。
在步骤23中,为了避免索引写入共享冲突,可以将每一类数据仅分配到同一个索引写入装置中,索引写入装置在写索引时,根据分配得到的数据进行索引写入。这里的索引写入装置可以是具有写入功能的计算机,例如图1中的索引服务器13。为了保证每一类数据仅分配到同一个索引写入装置中,可以使用与步骤22中类似的方法,将索引写入装置按正整数连续编号,再针对每份索引,将该索引的编号除以索引写入装置的数目然后取余数,将该份索引对应的数据分配到编号为该余数的索引写入装置。也可以使用其他方式向索引写入装置分配数据,但应保证每一类数据仅分配到同一个索引写入装置中。在索引写入装置将数据写入索引时,可以先将数据从数据源中导出,将数据中的文本以及其他格式的文件的链接地址保存在文本文件中,根据每类数据与索引的对应关系,对应于同一索引的数据保存在同一文件中,并在该文件或文件名中记录索引写入装置的标识以及该文件对应的索引标识。可以使用步骤22中对索引进行的编号作为索引标识,以及使用步骤23中对索引写入装置进行的编号作为索引写入装置的标识。这里的文件可以和数据源的数据存储在同一台存储装置中。接下来将导出的数据文件列表记录到文件状态表中,文件状态表中记录了每个文件的文件名以及该文件状态,文件状态表明文件中的数据已写入索引或未写入索引,相应的文件状态具体信息可以是“已处理”和“未处理”。文件名可以采用如下格式:{数据前缀}_yyyy_mm_dd_hh_MM_ss_k.txt。其中数据前缀中可以添加关于数据的一些说明,后面的yyyy_mm_dd_hh_MM_ss_k分别表示数据导出时的年份、月份、日期、小时、分钟和秒,k是索引写入装置的编号。文件状态表可以在每一台索引写入装置中保存一份。索引写入装置查询文件状态表,根据自身编号从保存上述文件的存储装置中读取相应的文件,按文件或文件名中记录的索引标识将文件中的数据写到相应的索引中。索引写入装置可以按时间次序读取文件。在将数据写入索引之后,可以在文件状态表中记录该文件的状态为“已处理”。
基于本申请实施例中的方法,下面对本申请实施例中的装置作出说明。在以下的叙述中对各功能模块进行说明,这些功能模块的总和构成了一种实现搜索服务的系统。在实现中各个功能模块可以各自位于单独的装置中,也可以将多个功能模块作为同一装置的组成部分。本申请实施例中的方法可以使用软件、硬件或二者相结合的形式实现,并且该软件可以保存在光盘、半导体存储装置或其他类型的存储装置中。
如图3所示,搜索服务系统30用于实现搜索服务,它包括划分模块31、索引写入模块32和索引存储模块33。其中索引写入模块32可以是一个或多个,图中示出了多个的情形。划分模块31用于根据预设的数据分类方式划分数据源中的数据,并按每一类数据仅对应于一份索引的规则保存划分得到的每类数据与预设的索引之间的对应关系。索引写入模块32具有上文中所述的索引写入装置的所有功能,具体是根据每类数据,按划分模块31保存的对应关系,将每类数据写入该类数据对应的索引中。索引存储模块33用于保存索引。
搜索服务系统30中还可以包括分配模块,用于按每一类数据仅分配到一个索引写入模块的规则将数据分配到索引写入装置,这样,索引写入模块32可以进一步用于根据每类数据,按划分模块31保存的对应关系将数据写入该类数据对应的索引中。另外搜索服务系统30中还可以包括源数据存储模块,用于保存数据源中的数据。并且搜索服务系统30还可以包括搜索模块,用于接收搜索指令,以及根据收到的搜索指令确定索引存储模块33中的索引,根据确定的索引输出数据。该搜索指令一般来自于用户操作的终端设备。
划分模块31的一种结构可以是包括索引份数确定单元、索引编号单元、划分单元、特征值分配单元以及索引对应单元。索引份数确定单元用于根据数据源的容量和预先设定的单个索引的容量确定预设的索引的份数。索引编号单元用于将预设的索引按正整数连续编号。划分单元用于根据预设的数据分类方式划分数据源中的数据。特征值分配单元用于针对划分单元划分得到的每类数据,向该类数据分配唯一的整数值。索引对应单元用于针对划分单元划分得到的每类数据,将该类数据分配得到的整数值除以预设的索引的份数然后取余数,在该类数据与编号为所述余数的索引之间建立对应关系。
如果划分模块31采用了上述的结构,那么分配模块的结构可以是包括装置编号单元和数据分配单元,其中装置编号单元用于将索引写入模块按正整数连续编号。数据分配单元用于针对每份索引,将该索引的编号除以索引写入模块32的数目然后取余数,将该份索引对应的数据分配到编号为该余数的索引写入模块32。
划分模块31中的索引对应单元可以进一步用于记录每类数据对应的索引的编号。这样,数据分配单元的一种结构可以是包括索引确定子单元和写入子单元,其中索引确定子单元用于根据索引对应单元记录的每类数据对应的索引的编号确定分配得到的每类数据对应的索引,写入子单元用于根据分配得到的每类数据,将数据写入索引确定子单元确定的索引中。
根据本申请实施例的技术方案,通过将数据源中的数据划分并且使划分得到的每类数据与索引相对应,而且在数据写入索引时按这种对应关系进行写入操作,这样避免了索引写入的共享冲突问题,并且在获取某一类数据的信息时只需从该类数据所对应的索引中进行查找,有较高的搜索效率。并且在本申请实施例中,通过合适地选择索引的容量使索引的容量不至于太大或太小,能够避免在过大的索引中进行查找而导致的效率低下,并且在获取某些涉及面较广的数据时也避免了打开太多的容量较小的索引,这些都有助于提高搜索效率,从而提高搜索服务的质量。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (12)

1、一种实现搜索服务的方法,其特征在于,包括:
根据预设的数据分类方式划分数据源中的数据,在划分得到的每类数据与预设的索引之间建立对应关系;
根据每类数据,按所述对应关系将数据写入该类数据对应的索引中;
当接收到搜索指令时,根据收到的搜索指令确定索引,根据确定的索引输出数据。
2、根据权利要求1所述的方法,其特征在于,所述按所述对应关系将数据写入该类数据对应的索引中包括:
将所述每一类数据分配到一个索引写入装置;
索引写入装置根据每类数据,按所述对应关系将数据写入该类数据对应的索引中。
3、根据权利要求1或2所述的方法,其特征在于,所述预设的索引中,单个索引的最大容量预先设定,并根据所述数据源的容量和预先设定的单个索引的最大容量确定所述预设的索引的份数。
4、根据权利要求3所述的方法,其特征在于,所述在划分得到的每类数据与预设的索引之间建立对应关系包括步骤:
将所述预设的索引按正整数连续编号;
针对划分得到的每类数据,向该类数据分配唯一的整数值,将该整数值除以所述预设的索引的份数然后取余数,在该类数据与编号为所述余数的索引之间建立对应关系。
5、根据权利要求4所述的方法,其特征在于,所述将所述数据分配到索引写入装置包括步骤:
将所述索引写入装置按正整数连续编号;
针对每份索引,将该索引的编号除以所述索引写入装置的数目然后取余数,将该份索引对应的数据分配到编号为该余数的索引写入装置。
6、根据权利要求5所述的方法,其特征在于,所述将该份索引对应的数据分配到编号为该余数的索引写入装置之后进一步包括:
在所述该份索引对应的数据中添加该份索引的编号;
从每类数据中获取索引的编号;
根据获取的编号确定索引;
根据每类数据,将数据写入所确定的索引中。
7、一种实现搜索服务的系统,其特征在于,包括:
划分模块,用于根据预设的数据分类方式划分数据源中的数据,并保存划分得到的每类数据与预设的索引之间的对应关系;
索引写入模块,在所述系统中设有一个或多个,用于根据每类数据,按所述对应关系将数据写入该类数据对应的索引中;
索引存储模块,用于保存索引。
8、根据权利要求7所述的系统,其特征在于,进一步包括分配模块,用于按每一类数据分配到一个索引写入模块的规则将所述数据分配到索引写入模块;
所述索引写入模块进一步用于根据每类数据,按所述对应关系将数据写入该类数据对应的索引中。
9、根据权利要求7或8所述的系统,其特征在于,进一步包括:
源数据存储模块,用于保存数据源中的数据;
搜索模块,用于接收搜索指令,以及根据收到的搜索指令确定索引存储模块中的索引,根据确定的索引输出数据。
10、根据权利要求7或8所述的系统,其特征在于,所述划分模块包括:
索引份数确定单元,用于根据所述数据源的容量和预先设定的单个索引的容量确定所述预设的索引的份数;
索引编号单元,用于将所述预设的索引按正整数连续编号;
划分单元,用于根据预设的数据分类方式划分数据源中的数据;
特征值分配单元,用于针对划分单元划分得到的每类数据,向该类数据分配唯一的整数值;
索引对应单元,用于针对划分单元划分得到的每类数据,将该类数据分配得到的整数值除以所述预设的索引的份数然后取余数,在该类数据与编号为所述余数的索引之间建立对应关系。
11、根据权利要求10所述的系统,其特征在于,所述分配模块包括:
装置编号单元,用于将所述索引写入模块按正整数连续编号;
数据分配单元,用于针对每份索引,将该索引的编号除以所述索引写入模块的数目然后取余数,将该份索引对应的数据分配到编号为该余数的索引写入模块。
12、根据权利要求11所述的系统,其特征在于,所述索引对应单元进一步用于记录每类数据对应的索引的编号;
所述数据分配单元包括:
索引确定子单元,用于根据索引对应单元记录的每类数据对应的索引的编号确定分配得到的每类数据对应的索引;
写入子单元,用于根据分配得到的每类数据,将数据写入索引确定子单元确定的索引中。
CN2009101364432A 2009-05-08 2009-05-08 实现搜索服务的方法与系统 Active CN101546342B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN2009101364432A CN101546342B (zh) 2009-05-08 2009-05-08 实现搜索服务的方法与系统
HK10102550.6A HK1134573A1 (en) 2009-05-08 2010-03-11 Method for implementing search service and system thereof
US12/800,015 US8977623B2 (en) 2009-05-08 2010-05-05 Method and system for search engine indexing and searching using the index
EP10772392A EP2427834A4 (en) 2009-05-08 2010-05-06 METHOD AND SYSTEM FOR SEARCH ENGINE INDICATION AND SEARCH ENGINE WITH THE RELATED INDEX
JP2012509810A JP5661104B2 (ja) 2009-05-08 2010-05-06 検索エンジンインデクシング及びインデックスを使用する検索のための方法とシステム
PCT/US2010/001359 WO2010129063A1 (en) 2009-05-08 2010-05-06 Method and system for search engine indexing and searching using the index
US14/601,994 US20150199433A1 (en) 2009-05-08 2015-01-21 Method and system for search engine indexing and searching using the index

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101364432A CN101546342B (zh) 2009-05-08 2009-05-08 实现搜索服务的方法与系统

Publications (2)

Publication Number Publication Date
CN101546342A true CN101546342A (zh) 2009-09-30
CN101546342B CN101546342B (zh) 2012-07-04

Family

ID=41193475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101364432A Active CN101546342B (zh) 2009-05-08 2009-05-08 实现搜索服务的方法与系统

Country Status (6)

Country Link
US (2) US8977623B2 (zh)
EP (1) EP2427834A4 (zh)
JP (1) JP5661104B2 (zh)
CN (1) CN101546342B (zh)
HK (1) HK1134573A1 (zh)
WO (1) WO2010129063A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760137A (zh) * 2011-04-27 2012-10-31 上海特易信息科技有限公司 分布式全文检索方法以及系统
WO2013135059A1 (zh) * 2012-03-15 2013-09-19 北京播思无线技术有限公司 一种数据快速分类的方法
CN103368817A (zh) * 2012-03-31 2013-10-23 国际商业机器公司 电子邮件发送、接收方法及装置
WO2014075273A1 (zh) * 2012-11-15 2014-05-22 华为技术有限公司 一种数据读写的方法、装置和系统
CN103914481A (zh) * 2013-01-07 2014-07-09 深圳市腾讯计算机系统有限公司 数据存储方法和装置
CN106326464A (zh) * 2016-08-31 2017-01-11 成都科来软件有限公司 一种基于检索信息投影的网络会话包索引方法
CN106339446A (zh) * 2016-08-23 2017-01-18 浪潮(北京)电子信息产业有限公司 一种分散键值的索引建立方法及系统
CN106446028A (zh) * 2016-08-31 2017-02-22 成都科来软件有限公司 一种网络会话包的新型索引系统
CN107203557A (zh) * 2016-03-17 2017-09-26 伊姆西公司 用于处理待搜索的对象的方法及装置
WO2017193263A1 (zh) * 2016-05-09 2017-11-16 华为技术有限公司 数据查询方法、数据查询系统确定方法和装置
CN113963659A (zh) * 2020-07-21 2022-01-21 华为技术有限公司 显示设备的调整方法及显示设备

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546342B (zh) * 2009-05-08 2012-07-04 阿里巴巴集团控股有限公司 实现搜索服务的方法与系统
US20130268559A1 (en) 2011-07-13 2013-10-10 Z124 Virtual file system remote search
US9152404B2 (en) 2011-07-13 2015-10-06 Z124 Remote device filter
US20130268703A1 (en) * 2011-09-27 2013-10-10 Z124 Rules based hierarchical data virtualization
CN103678405B (zh) * 2012-09-21 2016-12-21 阿里巴巴集团控股有限公司 邮件索引建立方法及系统、邮件搜索方法及系统
JP5863615B2 (ja) * 2012-09-28 2016-02-16 ジーイー・メディカル・システムズ・グローバル・テクノロジー・カンパニー・エルエルシー 画像表示システム及び画像表示装置
US10977229B2 (en) * 2013-05-21 2021-04-13 Facebook, Inc. Database sharding with update layer
CN104112014A (zh) * 2014-07-18 2014-10-22 国家电网公司 基于任务调度实现指标数据自动校验的方法
US10229140B2 (en) 2015-06-30 2019-03-12 International Business Machines Corporation Extensible indexing system evaluation and recommendation
CN106250468B (zh) * 2016-07-29 2019-07-19 捷开通讯(深圳)有限公司 环境信息的存储方法、回放方法、存储回放系统及终端
CN106446272B (zh) * 2016-10-20 2019-07-09 北京百度网讯科技有限公司 用于发送数据的方法和装置
US10482096B2 (en) 2017-02-13 2019-11-19 Microsoft Technology Licensing, Llc Distributed index searching in computing systems
US11238107B2 (en) * 2020-01-06 2022-02-01 International Business Machines Corporation Migrating data files to magnetic tape according to a query having one or more predefined criterion and one or more query expansion profiles

Family Cites Families (37)

* 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
US6278992B1 (en) 1997-03-19 2001-08-21 John Andrew Curtis Search engine using indexing method for storing and retrieving data
US5895470A (en) 1997-04-09 1999-04-20 Xerox Corporation System for categorizing documents in a linked collection of documents
GB0225339D0 (en) * 2002-10-31 2002-12-11 Trevor Burke Technology Ltd Method and apparatus for programme generation and classification
JP3564999B2 (ja) * 1998-03-17 2004-09-15 松下電器産業株式会社 情報検索装置
US6374253B1 (en) 1998-12-30 2002-04-16 Microsoft Corporation System and method for generating hierarchical forward knowledge
US6490589B1 (en) 1998-12-30 2002-12-03 Microsoft Corporation System and method for rewriting queries
CN1271906A (zh) * 1999-04-28 2000-11-01 龙卷风科技股份有限公司 全球数据网站的分类全文搜寻系统
US6336117B1 (en) 1999-04-30 2002-01-01 International Business Machines Corporation Content-indexing search system and method providing search results consistent with content filtering and blocking policies implemented in a blocking engine
US6253198B1 (en) 1999-05-11 2001-06-26 Search Mechanics, Inc. Process for maintaining ongoing registration for pages on a given search engine
US6823341B1 (en) 1999-12-06 2004-11-23 International Business Machines Corporation Method, system and program for providing indexed web page contents to a search engine database
US6366907B1 (en) 1999-12-15 2002-04-02 Napster, Inc. Real-time search engine
JP4426041B2 (ja) * 1999-12-24 2010-03-03 富士通株式会社 カテゴリ因子による情報検索方法
CN1132115C (zh) * 2000-02-21 2003-12-24 英业达股份有限公司 动态建立快速索引的方法
EP1182579A1 (de) * 2000-08-26 2002-02-27 Michael Prof. Dr. Clausen Verfahren und System zur Erstellung geeigneter Indizes zur verbesserten Suche in Datenbanken, vorzugsweise in Bild-, Ton- oder Multimediadatenbanken
JP3578092B2 (ja) 2001-02-15 2004-10-20 日本電信電話株式会社 文書検索方法及びシステム及び文書検索プログラム及び文書検索プログラムを格納した記憶媒体
US7464072B1 (en) 2001-06-18 2008-12-09 Siebel Systems, Inc. Method, apparatus, and system for searching based on search visibility rules
US20040024729A1 (en) 2002-07-30 2004-02-05 Worley John S. Method and system for storing sparse data in memory and accessing stored sparse data
US7373351B2 (en) 2003-08-18 2008-05-13 Sap Ag Generic search engine framework
CN1694090A (zh) * 2004-05-08 2005-11-09 北京搜狐新时代信息技术有限公司 多搜索引擎导航方法
CN1306440C (zh) * 2004-05-27 2007-03-21 威盛电子股份有限公司 关联性文件连结管理系统及方法
WO2006004797A2 (en) 2004-06-25 2006-01-12 The Trustees Of Columbia University In The City Ofnew York Methods and systems for feature selection
US20090024757A1 (en) * 2004-07-30 2009-01-22 Proctor David W Automatic Protocol Determination For Portable Devices Supporting Multiple Protocols
US7627616B2 (en) * 2004-08-30 2009-12-01 Hywire Ltb. Database storage and maintenance using row index ordering
US7653302B2 (en) * 2005-03-24 2010-01-26 Syabas Technology Inc. Techniques for transmitting personal data and metadata among computing devices
US7917519B2 (en) * 2005-10-26 2011-03-29 Sizatola, Llc Categorized document bases
US7849091B1 (en) * 2006-01-25 2010-12-07 At&T Intellectual Property Ii, L.P. Meta-data indexing for XPath location steps
CA2640365C (en) 2006-01-27 2015-03-17 Google Inc. Geographic coding for location search queries
US8065292B2 (en) 2006-04-17 2011-11-22 Cisco Technology, Inc. Generating an index for a network search engine
JP4975396B2 (ja) 2006-08-24 2012-07-11 株式会社日立製作所 記憶制御装置及び記憶制御方法
US8195655B2 (en) * 2007-06-05 2012-06-05 Microsoft Corporation Finding related entity results for search queries
JP4848317B2 (ja) * 2007-06-19 2011-12-28 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースのインデックス作成システム、方法及びプログラム
US8346731B1 (en) * 2007-09-28 2013-01-01 Symantec Corporation Techniques for global single instance indexing for backup data
FR2936623B1 (fr) * 2008-09-30 2011-03-04 Canon Kk Procede de codage d'un document structure et de decodage, dispositifs correspondants
JP5342888B2 (ja) * 2009-01-30 2013-11-13 株式会社日立製作所 ファイルサーバおよびファイル管理方法
CN101546342B (zh) * 2009-05-08 2012-07-04 阿里巴巴集团控股有限公司 实现搜索服务的方法与系统
US20100333116A1 (en) * 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760137A (zh) * 2011-04-27 2012-10-31 上海特易信息科技有限公司 分布式全文检索方法以及系统
WO2013135059A1 (zh) * 2012-03-15 2013-09-19 北京播思无线技术有限公司 一种数据快速分类的方法
CN103368817A (zh) * 2012-03-31 2013-10-23 国际商业机器公司 电子邮件发送、接收方法及装置
WO2014075273A1 (zh) * 2012-11-15 2014-05-22 华为技术有限公司 一种数据读写的方法、装置和系统
CN103914481A (zh) * 2013-01-07 2014-07-09 深圳市腾讯计算机系统有限公司 数据存储方法和装置
CN103914481B (zh) * 2013-01-07 2019-09-13 深圳市腾讯计算机系统有限公司 数据存储方法和装置
CN107203557A (zh) * 2016-03-17 2017-09-26 伊姆西公司 用于处理待搜索的对象的方法及装置
WO2017193263A1 (zh) * 2016-05-09 2017-11-16 华为技术有限公司 数据查询方法、数据查询系统确定方法和装置
CN106339446A (zh) * 2016-08-23 2017-01-18 浪潮(北京)电子信息产业有限公司 一种分散键值的索引建立方法及系统
CN106326464A (zh) * 2016-08-31 2017-01-11 成都科来软件有限公司 一种基于检索信息投影的网络会话包索引方法
CN106446028A (zh) * 2016-08-31 2017-02-22 成都科来软件有限公司 一种网络会话包的新型索引系统
CN113963659A (zh) * 2020-07-21 2022-01-21 华为技术有限公司 显示设备的调整方法及显示设备

Also Published As

Publication number Publication date
US20100287166A1 (en) 2010-11-11
HK1134573A1 (en) 2010-04-30
EP2427834A1 (en) 2012-03-14
CN101546342B (zh) 2012-07-04
US20150199433A1 (en) 2015-07-16
WO2010129063A1 (en) 2010-11-11
US8977623B2 (en) 2015-03-10
JP2012526320A (ja) 2012-10-25
EP2427834A4 (en) 2013-02-20
JP5661104B2 (ja) 2015-01-28

Similar Documents

Publication Publication Date Title
CN101546342B (zh) 实现搜索服务的方法与系统
US9922107B2 (en) System and method for correlating cloud-based big data in real-time for intelligent analytics and multiple end uses
CN106874348B (zh) 文件存储和索引方法、装置及读取文件的方法
CN102831127A (zh) 重复数据处理方法、装置及系统
CN101944124B (zh) 分布式文件系统管理方法、装置以及对应的文件系统
CN106326361B (zh) 一种基于HBase数据库的数据查询方法及装置
US20110125722A1 (en) Methods and apparatus for efficient compression and deduplication
CN107045531A (zh) 一种优化hdfs小文件存取的系统及方法
US20100312749A1 (en) Scalable lookup service for distributed database
CN105701096A (zh) 索引生成方法、数据查询方法、装置及系统
US20110218973A1 (en) System and method for creating a de-duplicated data set and preserving metadata for processing the de-duplicated data set
KR20130049111A (ko) 분산 처리를 이용한 포렌식 인덱스 방법 및 장치
CN112262379A (zh) 存储数据项并且标识存储的数据项
CN103279489A (zh) 一种元数据的存储方法、装置
CN112416880A (zh) 一种基于实时归并的海量小文件存储性能优化方法及装置
CN109739854A (zh) 一种数据存储方法及装置
CN104252537B (zh) 基于邮件特征的索引分片方法
CN111930708B (zh) 基于Ceph对象存储的对象标签的扩展系统及方法
CN107844483B (zh) 文件管理方法及装置
CN111045994A (zh) 一种基于kv数据库的文件分类检索方法及系统
CN104822076A (zh) 一种数据的分发方法及装置
CN111352960B (zh) 快件订单信息查询方法、装置、设备及存储介质
US20130218851A1 (en) Storage system, data management device, method and program
CN108509438A (zh) 一种ElasticSearch分片扩展方法
CN110019544B (zh) 数据查询方法及系统

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

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant