搜索引擎学习-实现

上篇文章介绍了搜索引擎的基本概念,有了大致的认识,本文说下搜索引擎实现上的一些问题。

搜索引擎组成

  • 抓取系统:负责对互联网信息的搜集,将网页保存到本地,供下游分析、挖掘、建索引使用
  • 分析系统:分析query,查询排序
  • 索引系统:整理资源,提取特征
  • 检索系统:用户query查找,结果展现

离线计算和在线计算

为了确保搜索引擎的响应时间和结果质量,在实现上,搜索引擎分为离线计算和在线计算。
离线计算进行数据存储、分析、索引;在线计算负责请求响应、检索匹配、结果展现。
离线计算:
  • 信息过滤、索引分层:根据网页特征和用户行为,减少需要被检索的网页数量
  • 反链和pagerank计算:根据网页链接关系,计算排序所需要的网页特征
  • 用户行为挖掘:根据用户点击、会话记录,将用户行为反馈到线上结果
  • 建库:存储海量网页内容,提取网页特征,设计高效检索的索引(倒排索引、MapReduce)
在线计算:
  • 高并发低延迟的分布式系统
  • 吞吐量高
  • 稳定性强
  • 开发运维效率快
  • 实现上涉及到服务数据的分层和冗余,请求的调度,数据的缓存

架构思想

搜索引擎的架构适用于高并发、大数据、低延迟等类似系统,对其有借鉴意义。
  • 基本方针:分而治之
  • 具体实现:分布式计算
  • 系统结构:服务分层、逐层汇聚
  • 业务管理:按相关性,进行系统分组

结构图

为了不涉及泄密,该图尽量简化抽象。

该图显示了在线检索系统的架构图,实际中每个节点都是分布式部署的多份服务,数据会进行垂直/水平的拆分,服务会进行分组。
各节点功能的介绍不再详述了,以免涉密,读者自行想象。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值