实现搜索服务的方法与系统技术方案

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

【技术实现步骤摘要】

本申请涉及计算机
,特别地涉及一种实现搜索服务的方法与系统
技术介绍
随着信息技术的发展,各种应用场合中的信息量也在急速增加,为了帮助 人们从海量的信息中找到自身所需信息,目前出现了一些搜索服务,能够根据 用户提供的关键字或对搜索目标的描述信息,从数据源中进行全文搜索并将搜 索到的数据提供给用户。在实现搜索服务时,需要将数据源中的数据转化为索引并保存起来,这个 过程通常称作索引的写入。索引是按一定规则整理的数据,因为用户在搜索时 通常给出文本格式的关键字,所以相应地索引也通常为文本格式,以实现按关 键字进行全文搜索,有些搜索引擎中,索引的内容包含在搜索引擎提供的网页 快照中。索引包含了有关数据源中的各种信息,对于数据源中的文本,索引可 以包含这些文本,对于数据源中的图像文件以及音频、视频等非文本格式的文 件,在索引中可以保存这些文件的来源的字段,例如它们在互联网上的地址字 段。索引的写入工作通常由索引服务器完成。当用户进行搜索时,由搜索服务 器接收用户给出的搜索条件,然后根据该搜索条件确定用户所需数据保存在哪 个索引中,再从该索引中进一步进行查找,查找到保存的索引之后将其中的信 息提供给用户。为了将大量数据转化为索引,通常会使用多个索引服务器进行索引写入工 作。索引服务器按一定次序提取数据,例如按时间顺序提取邮件,或者按序号 提取数据库记录中的条目,在提取之后标记被提取数据为"已提取",在这种 情况下对于相同的数据,可能会被不同的索引服务器同时提取并写到不同的索引中从而造成索引写入的共享沖突。另外,对于已经形成的索引,如果其容量较大,例如字节数超过1G,则 从索引中进一步查找所需内容的时间较长,从而降低了搜索效率。另一方面, 如果索引容量过小,则在搜索时需打开多个索引,也会降低搜索效率。因此在目前的搜索服务中存在索引写入共享沖突以及搜索效率较低的问 题,需要新的方法来实现搜索服务。
技术实现思路
本申请的主要目的是提供一种实现搜索服务的方法与系统,以解决现有技 术中索引写入共享冲突以及搜索效率较低的问题。 为解决上述问题,本申请提供如下的技术方案 一种实现搜索服务的方法,包括根据预设的数据分类方式划分数据源中的数据,在划分得到的每类数据与预设的索引之间建立对应关系;根据所述对应关系将每类数据写入该类数据对应的索引中; 当接收到搜索指令时,根据收到的搜索指令确定索引,根据确定的索引输出数据。所述按所述对应关系将数据写入该类数据对应的索引中包括 将所述一类数据分配到一个索引写入装置;索引写入装置根据每类数据,按所述对应关系将数据写入该类数据对应的 索引中。所述预设的索引中,单个索引的最大容量预先设定,并根据所述数据源的 容量和预先设定的单个索引的最大容量确定所述预设的索引的份数。 一种实现搜索服务的系统,包括划分模块,用于根据预设的数据分类方式划分数据源中的数据,并保存划 分得到的每类数据与预设的索引之间的对应关系;索引写入才莫块,在所述系统中设有一个或多个,用于根据所述对应关系,将每类数据写入该类数据对应的索引中; 索引存储模块,用于保存索引。 所述系统进一步包括分配模块,用于按每一类数据分配到一个索引写入模块的规则将所述数据 分配到索引写入模块;所述索引写入模块进一步用于根据每类数据,按所述对应关系将数据写入 该类数据对应的索引中。所述系统进一步包括源数据存储模块,用于保存数据源中的数据;搜索模块,用于接收搜索指令,以及根据收到的搜索指令确定索引存储模 块中的索引,根据确定的索引输出数据。根据本申请实施例的技术方案,通过将数据源中的数据划分并且使划分得 到的每类数据与索引相对应,在数据写入索引时按这种对应关系进行写入操 作,这样避免了索引写入的共享沖突问题,并且在获耳又某一类数据的信息时只 需从该类数据所对应的索引中进行查找,有较高的搜索效率。并且在本申请实 施例中,通过合适地选择索引的容量使索引的容量不至于太大或太小,能够避 免在过大的索引中进行查找而导致的效率低下,并且在获取某些涉及面较广的 数据时也避免了打开太多的容量较小的索引,这些都有助于提高搜索效率,从 而提高搜索服务的质量。附图说明图1为应用本申请实施例技术方案的网络的结构示意图2为本申请实施例中的方法流程图3为本申请实施例中的装置结构示意图。具体实施例方式下面结合附图对本申请实施例的技术方案进行说明,附图作为理解本申请 技术方案的辅助方式,本申请的技术方案在各种实现中不限于附图的形式。本申请实施例的技术方案可以应用到图1所示的网络结构中,如图1,用户通过终端设备IO访问搜索服务器11,向搜索服务器发送搜索指令,搜索指令中一般包含用户提出的关键字,该关键字指示了用户所需数据的一个范围或 者说一个特征,例如用户需要获取邮件服务器中他自己的所有邮件,则关键字可以是他的邮件地址;又如用户需要获取商品信息,则关键字可以是商品的型 号。网络中可以存在多台终端设备IO,如图中所示。搜索服务器11在收到搜索指令时,从搜索指令中分析得出关键字,根据 关键字确定索引。因为索引是按照规则整理的数据,该规则一般来说匹配于用 户的搜索行为,例如,对于邮件服务器保存的海量邮件,可以将邮件中的数据, 包括邮件的文本以及邮件中的其他格式的文件的链接地址写到预先设置的若 干个索引中,每个索引包含一个或几个邮件地址的邮件。并且记录每个邮件地 址的邮件中的数据被写到了哪个索引,于是当搜索服务器收到用于搜索邮件的 搜索指令时,该指令一般来说包含了用户的邮件地址,于是根据该邮件地址以 及上述的记录,即可确定该邮件地址被整理到的索引。索引可以保存在索引存储装置12中,它与索引服务器13连接,索引服务 器13的任务是将数据存储装置14中的数据按一定的规则写入索引存储装置12 中。数据存储装置14中的数据量可能在不断地增长,例如网络侧保存的用户 邮件数量可能随时间的推移在不断地增加。在本实施例中,为了能够尽可能快 地向用户提供搜索结果,单个索引的容量被限制在一定的范围,既不能太大也 不能太小,这是因为如果单个索引的容量过大,从这种容量过大的索引中进一 步搜索数据就会耗时较长;如果单个索引的容量太小,则势必形成大量索引, 因为打开一份索引较为耗时,所以索引数量不宜太多。这样,可以给出单个索 引容量的上限,并且根据具体应用场景下的数据特点以及搜索服务器11的性能,从数据存储装置14中划出一部分数据作为索引存储装置12的数据源,该 数据源的容量则是一定的,将该容量除以给出的单个索引容量的上限再向上取 整,就得到了一个正整数,该正整数表明该数据源中的数据经过整理后得到的 容量接近于给出的单个索引容量上限的索引的份数。至于数据存储装置14中 的其他数据,则可以按照同样的方法确定这些数据整理得到的索引的份数。在实现搜索服务时,可以按图2所示的流程进行,具体包括如下步骤步骤21:划分数据源中的数据。步骤22:在划分得到的每类数据与预设的索引之间建立对应关系。 步骤23:索引写入装置将数据写入索引。完成步骤21 ~ 2 3之后就形成了索引,索引中包含了数据源中数据的信息。 此时可以按索引中的内容向用户提供信息。当接收到来自于用户的搜索指令 时,根据收到的搜索指令确定索引,根据确定本文档来自技高网
...

【技术保护点】
一种实现搜索服务的方法,其特征在于,包括: 根据预设的数据分类方式划分数据源中的数据,在划分得到的每类数据与预设的索引之间建立对应关系; 根据每类数据,按所述对应关系将数据写入该类数据对应的索引中; 当接收到搜索指令时,根 据收到的搜索指令确定索引,根据确定的索引输出数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨含飞
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:VG[英属维尔京群岛]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1