博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
迅速读懂:这就是搜索引擎 (一) (多图)
阅读量:5732 次
发布时间:2019-06-18

本文共 1088 字,大约阅读时间需要 3 分钟。

  因为工作原因以前写过搜索引擎,不过那还是在读这本书之前,最近工作面试问到了以前的项目,感觉自己写的搜索引擎好像差了不少,所以特意找这本书来补一补。以下内容相当于读书笔记,讲解可能很少,多图预警。

1. 搜索引擎架构:

  

2. 网络爬虫

  • 从爬虫设计角度讲, 优秀的爬虫应该具备高性能, 良好的可扩展性、健壮性和友好性。
  • 从用户体验角度考虑,对爬虫的工作效果评价标准包括:抓取网页覆盖率、抓取网页时新性和抓取网页重要性。
  • 抓取策略(广度优先遍历策略、非完全连接分析策略、在线页面重要性计算策略、大站优先策略)、网页更新策略(历史参考策略、用户体验策略<聚类抽样策略)、暗网抓取(查询组合、文本框自动填写)和分布式策略(主从式、对等式)是爬虫系统重要的4个方面内容,基本决定了爬虫系统的质量和性能。

  聚类抽样策略

    

  文本框自动填写

    

  分布式爬虫层级

    

  主从分布式爬虫

    

  对等分布式爬虫

    

3. 搜索引擎索引

  • 倒排索引是搜索引擎用来快速查找包含某个单词的文档集合的数据结构
  • 倒排索引由单词词典和所有词典对应的倒排列表构成
  • 倒排列表由倒排列表项构成,一般倒排列表项包含文档ID、单词出现次数和单词在文档出现的位置,而文档ID则采取文档编号差值方式编码
  • 3种常用的简历倒排索引的方法是:两遍文档遍历法、排序法、归并法
  • 常用的索引更新策略有4种:完全重建策略、再合并策略、原地更新策略及混合策略
  • 目前有两种常见的查询处理机制,一种被称作一次一文档方式,另一种被称为一次一单词方式
  • 实现多字段索引有3种方式:多索引方式、倒排列表方式和扩展列表方式
  • 较常见的支持短语查询的技术方法包括:位置信息索引、双词索引及短语索引3类,为了能够有效利用存储和计算资源,也可以将这三者结合使用
  • 目前常用的分布式索引方案包括两种:按文档对索引划分和按单词对索引划分。

  动态索引:

    

  完全重建策略

    

   再合并策略

     

 

  合并增量索引和老索引内容

    

  

  原地更新策略

    

  原地更新索引合并

    

  分布式索引——按文档划分

    

  文档划分方式对用户查询的响应

      

  分布式索引——按单词划分

    

  单词划分方式对用户查询的响应

    

    

  这本书12章,中间云存储和云计算部分我掌握的并不太好可能会花点时间,所以预计还是5次写完。

转载于:https://www.cnblogs.com/hellomotty/p/7502086.html

你可能感兴趣的文章
聊聊TaskExecutor的spring托管
查看>>
oracle 强行杀掉一个用户连接
查看>>
Git提交本地库代码到远程服务器的操作
查看>>
挨踢部落故事汇(13):扬长避短入行Oracle开发
查看>>
灾难拯救——让软件项目重回轨道
查看>>
ssh链接git服务器,解决push pull要求输入密码问题
查看>>
也说 Java 异常处理
查看>>
Netty 源码解析(二):对 Netty 中一些重要接口和类的介绍
查看>>
MAVEN spring boot 打包 和执行
查看>>
mysql中主外键关系
查看>>
第七章:数据字典
查看>>
python 字符串 类型互相转换 str bytes 字符串连接
查看>>
service mysqld start
查看>>
linux时间
查看>>
Spring+Mybatis项目中通过继承AbstractRoutingDataSource实现数据库热切换
查看>>
让Alert弹窗只弹出一次
查看>>
用友软件操作流程(新建年度帐、年度结转步骤)
查看>>
mysql权限管理
查看>>
我的友情链接
查看>>
让你快速上手的Glide4.x教程
查看>>