欢迎光临周浪zhoulang (Eastwave) 的博客主页本博客在线提供全方位的、系统的、全面的最新新闻资讯技术等。涉及工业商业IT科教百科国际军事科普文化艺术旅游数码通讯影音娱乐体育休闲购物物流房产工作生活的方方面面。重点主要凸现在IT的计算机电脑互联网SEO搜索引擎网页设计HTMLDHTMLXMLCSSPHPASPSQL数据库JavaCC++Flash三维动画广告设计平面设计动画制作计算机应用;以及计算机网络电子邮件软件技术黑客技术电脑游戏电子竞技主页空间主机域名博客社区下载论坛计算机技术
posts - 12, comments - 340, trackbacks - 0, articles - 627
  首页 :: 联系 :: 订阅 订阅 :: 管理

公告

集中/分布式搜索引擎的4种设计方案

Posted on 2006-05-06 16:53 Eastwave周浪 阅读(...) 评论(...)  编辑 收藏

集中/分布式搜索引擎的4种设计方案:


对于搜索引擎, 在索引量和搜索量大到一定程度的时候, 索引更新的效率会逐渐降低, 服务器的压力逐渐升高, 因此基本上整个搜索引擎的利用率可以说是越来越低了, 并且随着海量数据存储带来的困难, 设计一个良好的分布式搜索引擎将是一个搜索引擎能否面相未来发展的关键因素了.

那么分布式搜索引擎的最主要的核心问题是哪些呢?

1. 分布的信息获取和计算以及对此进行的数据统一
这里面包括爬虫/或者相应的数据获取机制的分布, 对信息进行加工的统一管理

2. 数据处理后的分布存储和管理
主要是文件的准确定位和更新,增加,删除,移动的机制

3. 前端搜索服务的分布
主要处理大规模并发请求时的分发机制

基于以上3个基本需求, 基本上可以构造如下4类的分布式搜索引擎:
1. 分布式元搜索引擎
2. 散列分布搜索引擎
3. P2P 分布搜索引擎
4. 局部遍历型搜索引擎

下面逐步介绍以上4类可扩展的搜索引擎:
1. 分布式元搜索:
拥有多个单个的搜索引擎, 中心搜索引擎是利用这些分布的单个的搜索引擎的结果进行撮合得到完整的结果.
这样的设计方案要求各个单元的搜索引擎拥有相同的排序算法和基本相同的数据输出结构,以便由中心搜索进行整理。
对于这类的搜索引擎,关键的设计是要求每一个单元所拥有的索引不构成重复,但是进行数据的采集(爬虫)时可以采取独立的系统获取后再按照规则分布到各个单元上。
优点,设计简单,快速,并且任何一个单元可以随时的摘掉但并不影响太大。
缺点,对于大规模的并发并非好的解决办法

2.散列分布搜索引擎
根据Query对索引服务器和文档服务器进行散列,做到对于任何的索引词能够准确的定位到具体的索引服务器并从而定位到正确的文档服务器。

优点,抗压,设计简单
缺点,对于单个索引服务器或者文档服务器的容量等动态的调整较困难

3.Peer 2 peer 搜索引擎
著名的Napster就是这样的一种设计,利用集中方式的索引,配合分布于世界各地的单个的计算机形成的文件源,构成了世界上最庞大的p2p搜索引擎之一。
这种设计里的中心索引服务器只记录一些相对关键的信息,例如位置(IP,序列号),歌曲的名字,作者等,其它的信息一概可以从任何在线并且拥有本条全面信息的计算机上获取。同时p2p也可以根据搜索建立一些中间路由的缓存,即将一些搜索结果存在单个或者相近的节点上,加快搜索速度。

优点,可以超级大,基本上不需要有维护成本
缺点,中心服务器的更新效率很低,信息源不稳定

4. 局部遍历型搜索引擎
这类的搜索引擎又可以采用多种设计方案,其中比较可行的是对信息进行聚类后建立信息树,搜索时只需要从树的一个分支下去遍历便可以了。局部遍历应当有一定的规则,并且在设计初期就需要对每一个加入的索引进行相对准确的位置安排,使得放置在合适的节点上,以保证搜索的效率。

优点,容易解决抗压,搜索精度高,搜索效率高
缺点,设计复杂,调整索引所在节点的位置不易

总体来说,搜索引擎的设计方法可以很多,这里只是抛砖引玉,相信未来会有更多的巧妙的设计方案出现。

--- 摘自:<搜索引擎研究>




博客评分,欢迎投票: Google PageRank (Powered by MyPagerank.net) Google Bot Last Visit (Powered by GBotVisit.com) Yahoo Bot Last Visit (Powered by MyPagerank.net) MSN Bot Last Visit (Powered by MyPagerank.net) Website Counter (Powered by RedCounter.net)