搜索引擎技术学习笔记一
学习笔记上传失败,原版文档在这里;http://pan.baidu.com/s/1slIukvN
今天只是初步开始学习搜索引擎技术,接下来的时间会继续学习和更新,欢迎有兴趣的朋友多多交流。
搜索引擎的处理对象是网页,网页的数量数以百亿计,所以搜索引擎面临的首要问题就是:如何设计高效的下载系统,将如此海量的页面数据传送到本地,在本地形成互联网页面的镜像备份。
下面是一个通用的爬虫框架:
互联网的页面划分包括五个部分:已下载网页集合、已过期网页集合、待下载网页集合、可知网页集合、不可知网页集合。如下:
爬虫主要分为三类:批量型爬虫(Batch Crawler)、增量型爬虫(Incremental Crawler)、垂直型爬虫(Focused Crawler)。
优秀爬虫的特性:高性能、可扩展性、健壮性、友好性。
目前爬虫研发的目标(三个尽可能):因为搜索引擎只能抓取互联网的一部分页面,那么就尽可能地选择比较重要的那部分页面来索引;对于已经抓取到的网页,尽可能快的更新其内容,使得索引网页和互联网对应页面的内容同步更新;在此基础上尽可能的扩大抓取的范围,抓取到更多以前无法发现的页面。
Google的两套爬虫系统,对于更新周期不同的页面采用不同的爬取策略。爬虫的抓取策略有很多但是基本目标一致就是:优先抓取更重要的页面。比较有代表性的抓取策略包括:宽度优先遍历策略、非完全PageRank策略、OCIP策略、大站优先策略。
暗网抓取(Deep WebCrawling),暗网,是指目前搜索引擎爬虫按照常规方式很难抓取到的互联网页面。因为搜索引擎依赖于页面中的连接关系发现新的页面,但是很多网站的内容是以数据库方式存储的,很难有显示的链接指向数据库内的记录,往往是服务网站提供组合查询界面,只有用户按照需求输入查询之后,才可能获得相关数据。所以,常规的爬虫无法索引这些数据内容,这也就是暗网的由来。为了能够对暗网数据进行索引,需要研发与常规爬虫机制不同的系统,成为暗网爬虫;大型搜索引擎服务提供商都将暗网挖掘作为重要的研究方向,因为这直接关系到索引量的大小。
对于暗网爬虫来说,技术挑战主要有两点:一是查询组合太多;二是有的查询是文本框,爬虫怎样才能填入合适的内容。
搜索引擎技术学习笔记一相关推荐
- 知识图谱技术学习笔记
知识图谱技术学习笔记 从一开始的Google搜索,到现在的聊天机器人.大数据风控.证券投资.智能医疗.自适应教育.推荐系统,无一不跟知识图谱相关.它在技术领域的热度也在逐年上升. 本文以通俗易懂的方式 ...
- SpringBoot整合第三方技术学习笔记(自用)
SpringBoot整合第三方技术学习笔记 搬运黑马视频配套笔记 KF-4.数据层解决方案 KF-4-1.SQL 回忆一下之前做SSMP整合的时候数据层解决方案涉及到了哪些技术?MySQL数据库与My ...
- java mvc框架代码_JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码)
原标题:JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码) JavaEE体系结构包括四层,从上到下分别是应用层.Web层.业务层.持久层.Struts和SpringMVC是Web层的 ...
- 小五思科技术学习笔记之SSH
下面介绍一下相关概念: SSH的概念: SSH的英文全称为Secure Shell,SSH使用TCP的22号端口,其目的是要在非安全的网络上提供安全的远程登陆和其他安全的网络服务, 为什么要使用SSH ...
- ssm 转发请求_千呼万唤!阿里内部终于把这份SSM框架技术学习笔记分享出来了...
SSM SSM(Spring+SpringMVC+MyBatis)框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容).常作为数据源较简单的web项 ...
- R语言与抽样技术学习笔记(Jackknife)
R语言与抽样技术学习笔记(Randomize,Jackknife,bootstrap) Jackknife算法 Jackknife的想法在我很早的一篇博客<R语言与点估计学习笔记(刀切法与最小二 ...
- ElasticSearch搜索引擎-2_学习笔记2021.4.18)
ElasticSearch搜索引擎-2_学习笔记(2021.4.18) 前言: RESTful 介绍 , 我们通过RESTful来操作ElasticSearch (所有请求都是通过Postman ) ...
- 程序员编程技术学习笔记
程序员编程技术学习笔记 看july的博客也有好久了,一直没能好好整理一下自己的学习笔记,开了博客之后更加愿意好好整理一番了.其中不免有些内容在july那里可以找到原文,但是更多的加入了我个人的 ...
- 三级网络技术 学习笔记
三级网络技术 学习笔记 BGP(Border Gateway Protocol) TCP(Transmission Control Protocol) UDP(User Datagram Protoc ...
最新文章
- 「打造中国人自己的开放 AI」:清华教授唐杰宣布成立AI新期刊
- inaflash什么意思中文_英文“flash”翻译成中文是什么意思?
- Mocha BSM基础架构管理——网络设备
- 成功解决Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2(二)
- LINQ to XML .Net 3.5 中的新XML对象
- python dump函数用法_Python中json库的load和dump函数
- c语言float二进制输出代码_C语言学习笔记——学前知识概述
- Kali Linux 网络扫描秘籍 第七章 Web 应用扫描(二)
- 空间复杂度,实现从excel导出到txt文件中的java代码自动构建,逻辑条件不同实现则不同...
- 精通javascript 代码总结
- 阿里巴巴java方向笔试题 带详细答案
- 紧贴“十四五”规划 天威诚信强势助力政务信息化系统建设
- 联想锁屏壁纸缓存文件夹目录
- 没有自制力的人,有什么资格谈努力?
- oc项目中使用swift
- poco库 文件服务器,poco
- WordPress个人博客Cosy3.1.3主题+积木部分插件
- #!/bin/bash 和 #!/usr/bin/env bash 的区别
- 基于Django的健身房管理系统
- Python爬取猫眼评分9.5的《海王》的3万条评论