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

原创 2006年06月19日 10:32:00

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


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


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


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


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


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


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


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


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


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


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


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


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


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

相关文章推荐

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

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

GPRS集中抄表设计方案

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

分布式锁-常用的4种方案

前言:      由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题。所以自己结合实际工作中的一些经验和网上看到的一些资料...

数据缓存设计方案-------一致性哈希

随着数据的分布式存储,如何快速定位数据在集群中的位置,关系到集群的性能。下面介绍常见的分布式存储方式。 普通集群普通集群把固定的key映射到固定的节点上,节点中至只存放各自key的数据。这种方式就需要...

IOS移动APP网络层设计方案

iOS应用架构谈 开篇  iOS应用架构谈 view层的组织和调用方案  iOS应用架构谈 网络层设计方案  iOS应用架构谈 本地持久化方案及动态部署  iOS应用架构谈 组件化...

可在线OTA升级的嵌入式系统设计方案

什么是在线OTA升级 - OTA是Over-the-Air的简写,空中下载技术的意思。 - OTA在线升级在日常消费电子产品中很常见,比如手机,机顶盒等,通过网络,下...

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

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

基于SNMP的网络管理软件设计方案和实现

随着网络技术的高速发展,计算机网络的应用的深度和广度不断提高,日渐深入我们的工作和生活。从政府机关的管理,企业营销、物流的网络管理,科研机构信息的交流,到个人的娱乐、生活,网络在这其中正在发挥着越来越...

Redis实现求交集操作结果缓存的设计方案

Redis的集合操作实话说,Redis提供的集合操作是我选择它成为内存数据库的一个主要理由,它弥补了传统关系型数据库在这方面带来的复杂度,使得只需要简单的一个命令就可以完成一个复杂SQL任务,并且交、...

基于DM8168的视频智能分析系统的设计方案

[导读] 为了实现高清视频的智能分析功能,本文介绍了一种以TI公司的DM8168为核心的高清视频智能分析系统的设计方案,该方案从硬件设计和软件设计两个方面介绍了硬件组成、工作流程、软件架构,并详细描述...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:集中分布式搜索引擎的4种设计方案
举报原因:
原因补充:

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