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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

分布式系统写数据功能设计方案

在系统功能完成几年后计划总结一下此方案,希望为别人提供一些参考价值。 一次偶然发现以前早有大神发表过文章。 中文版本未找到,英文看不太懂。猜测思路类似。可能是重复的造了个轮子。 http://queu...

分布式系统设计方案比较及实现

  • 2014年05月11日 17:17
  • 34KB
  • 下载

GPRS集中抄表设计方案

  • 2009年10月10日 12:14
  • 531KB
  • 下载

软件设计方案(编程规范总则)

1、排版 1)程序块要采用缩进风格编写,缩进的空格数为4个,对于由开发工具自动生成的代码可以不一致; 2)相对独立的程序块之间、变量说明之后必须加空行; 3)较长的语句要分成多行书写,长表达式要...

审批流程设计方案-介绍(一)

10年有幸接触了HP的一套PAAS平台,里面有一套关于工作流、审批流的设置模块。公司现在做的这个项目也有用到审批流。这中间磕磕碰碰的遇到不少问题,但最后也小有收获,趁着周末闲暇时间,把一些细节方面上的...
  • madforg
  • madforg
  • 2012年03月25日 23:03
  • 22003

手把手教你做视频播放器(一)-设计方案

从无到有,做一个自己的视频播放器。
  • anddlecn
  • anddlecn
  • 2016年05月24日 12:59
  • 10960

三种权限设计方案的归纳和比较

权限设计是很多系统重要的组成部分,主要用于控制功能和流程,本文将几种常见的权限设计方案(权限系统的名都是自己起的)的基本设计写出来,其中不恰当处还请大家指出,我们来讨论一下.1.等级权限系统这种权限系...
  • sunhuwh
  • sunhuwh
  • 2015年11月09日 22:47
  • 2148

计蒜客第六场 微软大楼设计方案(困难)

题目链接: https://nanti.jisuanke.com/t/15773 题解: 先对点按x排序 设Xa 当kk时不符合条件,并且更大的Xb也不符合条件,所以不接下去枚举Xb。因为楼层高度最...
  • t51645
  • t51645
  • 2017年06月04日 23:53
  • 304

常见多线程与并发服务器设计方案举例

常见多线程与并发服务器设计方案举例 分类: muduo网络库2013-11-04 21:25 930人阅读 评论(0) 收藏 举报 并发服务器多线程reactorthreadpool ...
  • pi9nc
  • pi9nc
  • 2014年04月09日 09:09
  • 13277

开源IOT——一个最小的物联网系统设计方案及源码

或许这个可以当成是你的毕业设计又或者你可以用它来控制你想控制的东西,总之你可以用它来做一个最小的物联网系统。 不过,在这里可能没有那么复杂的功能,因为强调的是最小。BareMinimum,这也是为什么...
  • gmszone
  • gmszone
  • 2013年12月22日 14:24
  • 34863
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:集中/分布式搜索引擎的4种设计方案
举报原因:
原因补充:

(最多只允许输入30个字)