推荐《这就是搜索引擎:核心技术详解》一书

2023-10-30 09:32

本文主要是介绍推荐《这就是搜索引擎:核心技术详解》一书,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

比较务实的一本书,也是我2014年推荐的第一本书《这就是搜索引擎:核心技术详解》,这本书陆陆续续看了大半年,受益匪浅。虽说是核心技术详解,实际上这并不是给专业人员看的书,站长朋友看了后会对搜索引擎多了一份理性,少一分谩骂。本书看起来很轻松。

这就是搜索引擎:核心技术详解

全书通俗易懂,内容广而不深,对搜索引擎的技术做了很全面的介绍,包括搜索引擎整体框架、爬虫、抓取策略、暗网爬取、分布式爬虫等内容。

搜索引擎作为互联网用户的上网入口,对流量的引导与分流至关重要,甚至可以说起了决定性的作用。1991年,Tim Berners-Lee将超文本的概念引入互联网,同时推出了WWW雏形、配套的HTTP传输协议及相应的Web服务器技术。1993年,第一个图形浏览器mosaic诞生,网页浏览客户端趋于成熟,这些技术与产品为互联网的快速普及和发展做好了技术准备,互联网用户开始从最初的军队和高校等科研机构普及到普通的个人用户,为接下来互联网的商业化大规模发展奠定了基础。

互联网信息量在过去15年获得了爆炸性增长,信息过载的问题目前来说非常严重,随着互联网个性化的发展趋势逐步展现,普通用户发布信息的成本越来越低,这个问题将会更加严重。这是搜索引擎相关引用越来越重要的一个基础背景。搜索是目前解决信息过载的相对有效的方式,在没有有效的替代解决方式出来之前,搜索引擎作为互联网网站和应用的入口及处于行业制高点的重要地位只会逐步加强。

搜索引擎发展史:分类目录(网址导航)是史前时代、文本检索是第一代、链接分析是第二代、以用户中心是第三代,

搜索引擎的3个目标:更全、更快、更准。

搜索引擎的3个核心问题:1.用户真正的需求是什么,2.哪些信息是和用户需求是真正相关的,3.哪些信息是用户可以信赖的。

搜索引擎的架构,一张图可以说明情况:

这就是搜索引擎:核心技术详解

除了上述的子功能模块,“反作弊”模块也日益重要。

互联网页面划分为五个部分:1.已下载网页集合、2.已过期网页集合、3.待下载网页集合、4.可知网页集合、5.不可知网页集合。

网络爬虫分为:批量性爬虫、增量型爬虫、垂直型爬虫。

爬虫抓取的策略:1.宽度优先遍历、2.非完全PageRank、3.OPIC(Online Page Importantance Computation)、4.大站优先。

网页更新策略:1.历史参考策略、2.用户体验策略、3.聚类抽样策略。

写在最后:

结合上面的信息我们就能大致明白了:爬虫分很多种,爬虫来了不一定抓取的原因就是这里。另外爬虫是否抓取(重新抓取)你的网页也有很多种参考因素,我们通常所以的保证网站持续更新就是历史参考策略了。本文我把网页和爬虫的部分都罗列了出来,有兴趣的朋友可以买书来看。

很多时候,你问的答案就在这里,如果你不细读的话!

书名:《这就是搜索引擎:核心技术详解》

作者:张俊林

出版社:电子工业出版社

出版日期: 2012年1月1日

平装: 300页

 

原链接来自百度

这篇关于推荐《这就是搜索引擎:核心技术详解》一书的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/306992

相关文章

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

SpringBoot日志级别与日志分组详解

《SpringBoot日志级别与日志分组详解》文章介绍了日志级别(ALL至OFF)及其作用,说明SpringBoot默认日志级别为INFO,可通过application.properties调整全局或... 目录日志级别1、级别内容2、调整日志级别调整默认日志级别调整指定类的日志级别项目开发过程中,利用日志

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

详解python pycharm与cmd中制表符不一样

《详解pythonpycharm与cmd中制表符不一样》本文主要介绍了pythonpycharm与cmd中制表符不一样,这个问题通常是因为PyCharm和命令行(CMD)使用的制表符(tab)的宽... 这个问题通常是因为PyCharm和命令行(CMD)使用的制表符(tab)的宽度不同导致的。在PyChar

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

SpringBoot请求参数传递与接收示例详解

《SpringBoot请求参数传递与接收示例详解》本文给大家介绍SpringBoot请求参数传递与接收示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录I. 基础参数传递i.查询参数(Query Parameters)ii.路径参数(Path Va