《这就是搜索引擎:核心技术详解》(搜索引擎相关技术 核心算法 云计算 云存储 搜索引擎优化)扫描版[PDF]

《这就是搜索引擎:核心技术详解》封面图片

内容简介:

搜索引擎作为互联网发展中至关重要的一种应用,已经成为互联网各个领域的制高点,其重要性不言而喻。搜索引擎领域也是互联网应用中不多见的以核心技术作为其命脉的领域,搜索引擎各个子系统是如何设计的?这成为广大技术人员和搜索引擎优化人员密切关注的内容。

《这就是搜索引擎:核心技术详解》的特点是内容新颖全面而又通俗易懂。对于实际搜索引擎所涉及的各种核心技术都有全面细致的介绍,除了作为搜索系统核心的网络爬虫、索引系统、排序系统、链接分析及用户分析外,还包括网页反作弊、缓存管理、网页去重技术等实际搜索引擎必须关注的技术,同时用相当大的篇幅讲解了云计算与云存储的核心技术原理。另外,本书也密切关注搜索引擎发展的前沿技术:Google的咖啡因系统及Megastore等云计算新技术、百度的暗网抓取技术阿拉丁计划、内容农场作弊、机器学习排序等。诸多新技术在相关章节都有详细讲解,同时对于社会化搜索、实时搜索及情境搜索等搜索引擎的未来发展方向做了技术展望。为了增进读者的理解,全书大量引入形象的图片来讲解算法原理,相信读者会发现原来搜索引擎的核心技术理解起来比原先想象的要简单得多。

作者简介:

张俊林,是技术书籍《这就是搜索引擎:核心技术详解》的作者,目前担任畅捷通智能平台总监。在此之前,张俊林曾经在*搜索技术中心、百度商务搜索部凤巢广告平台以及新浪微博搜索部及数据系统部担任资深技术专家,新浪微博技术委员会成员,负责算法策略方向。张俊林还曾是智能信息聚合网站“玩聚网”的联合创始人之一。他的研发兴趣集中在:搜索技术、推荐系统、社交挖掘、自然语言处理与大数据算法架构等方面,并在以上领域有多年工业界实践经验。张俊林本科毕业于天津大学管理学院,1999年至2004年在中科院软件所直接攻读博士学位,研究方向是信息检索理论与自然语言处理,就学期间曾在ACL/COLING/IJCNLP等国际*会议发表多篇学术论文,另外,他在此期间领导设计的搜索系统曾在美国国防部DARPA主持的TREC第二届高精度检索系统评测中在17只国际高水平研究团队激烈竞争中胜出并取得综合排名第一名的优异成绩。

目  录:

第1章搜索引擎及其技术架构

1.1搜索引擎为何重要

1.1.1互联网的发展

1.1.2商业搜索引擎公司的发展

1.1.3搜索引擎的重要地位

1.2搜索引擎技术发展史

1.2.1史前时代:分类目录的一代

1.2.2第一代:文本检索的一代

1.2.3第二代:链接分析的一代

1.2.4第三代:用户中心的一代

1.3搜索引擎的3个目标

1.4搜索引擎的3个核心问题

1.4.13个核心问题

1.4.2与技术发展的关系

1.5搜索引擎的技术架构

第2章网络爬虫

2.1通用爬虫框架

2.2优秀爬虫的特性

2.3爬虫质量的评价标准

2.4抓取策略

2.4.1宽度优先遍历策略(BreathFirst)

2.4.2非完全PageRank策略(PartialPageRank)

2.4.3OCIP策略(OnlinePageImportanceComputation)

2.4.4大站优先策略(LargerSitesFirst)

2.5网页更新策略

2.5.1历史参考策略

2.5.2用户体验策略

2.5.3聚类抽样策略

2.6暗网抓取(DeepWebCrawling)

2.6.1查询组合问题

2.6.2文本框填写问题

2.7分布式爬虫

2.7.1主从式分布爬虫(Master-Slave)

2.7.2对等式分布爬虫(PeertoPeer)

本章提要

本章参考文献

第3章搜索引擎索引

3.1索引基础

3.1.1单词—文档矩阵

3.1.2倒排索引基本概念

3.1.3倒排索引简单实例

3.2单词词典

3.2.1哈希加链表

3.2.2树形结构

3.3倒排列表(PostingList)

3.4建立索引

3.4.1两遍文档遍历法(2-PassIn-MemoryInversion)

3.4.2排序法(Sort-basedInversion)

3.4.3归并法(Merge-basedInversion)

3.5动态索引

3.6索引更新策略

3.6.1完全重建策略(CompleteRe-Build)

3.6.2再合并策略(Re-Merge)

3.6.3原地更新策略(In-Place)

3.6.4混合策略(Hybrid)

3.7查询处理

3.7.1一次一文档(DocataTime)

3.7.2一次一单词(TermataTime)

3.7.3跳跃指针(SkipPointers)

3.8多字段索引

3.8.1多索引方式

3.8.2倒排列表方式

3.8.3扩展列表方式(ExtentList)

3.9短语查询

3.9.1位置信息索引(PositionIndex)

3.9.2双词索引(NextwordIndex)

3.9.3短语索引(PhraseIndex)

3.9.4混合方法

3.10分布式索引(ParallelIndexing)

3.10.1按文档划分(DocumentPartitioning)

3.10.2按单词划分(TermPartitioning)

3.10.3两种方案的比较

本章提要

本章参考文献

第4章索引压缩

4.1词典压缩

4.2倒排列表压缩算法

4.2.1评价索引压缩算法的指标

4.2.2一元编码与二进制编码

4.2.3EliasGamma算法与EliasDelta算法

4.2.4Golomb算法与Rice算法

4.2.5变长字节算法(VariableByte)

4.2.6SimpleX系列算法

4.2.7PForDelta算法

4.3文档编号重排序(DocIDReordering)

4.4静态索引裁剪(StaticIndexPruning)

4.4.1以单词为中心的索引裁剪

4.4.2以文档为中心的索引裁剪

本章提要

本章参考文献

第5章检索模型与搜索排序

5.1布尔模型(BooleanModel)

5.2向量空间模型(VectorSpaceModel)

5.2.1文档表示

5.2.2相似性计算

5.2.3特征权重计算

5.3概率检索模型

5.3.1概率排序原理

5.3.2二元独立模型(BinaryIndependentModel)

5.3.3BM25模型

5.3.4BM25F模型

5.4语言模型方法

5.5机器学习排序(LearningtoRank)

5.5.1机器学习排序的基本思路

5.5.2单文档方法(PointWiseApproach)

5.5.3文档对方法(PairWiseApproach)

5.5.4文档列表方法(ListWiseApproach)

5.6检索质量评价标准

5.6.1精确率与召回率

5.6.2P @ 10指标

5.6.3MAP指标(MeanAveragePrecision)

本章提要

本章参考文献

第6章链接分析

6.1Web图

6.2两个概念模型及算法之间的关系

6.2.1随机游走模型(RandomSurferModel)

6.2.2子集传播模型

6.2.3链接分析算法之间的关系

6.3PageRank算法

6.3.1从入链数量到PageRank

6.3.2PageRank计算

6.3.3链接陷阱(LinkSink)与远程跳转(Teleporting)

6.4HITS算法(HypertextInducedTopicSelection)

6.4.1Hub页面与Authority页面

6.4.2相互增强关系

6.4.3HITS算法

6.4.4HITS算法存在的问题

6.4.5HITS算法与PageRank算法比较

6.5SALSA算法

6.5.1确定计算对象集合

6.5.2链接关系传播

6.5.3Authority权值计算

6.6主题敏感PageRank(TopicSensitivePageRank)

6.6.1主题敏感PageRank与PageRank的差异

6.6.2主题敏感PageRank计算流程

6.6.3利用主题敏感PageRank构造个性化搜索

6.7Hilltop算法

6.7.1Hilltop算法的一些基本定义

6.7.2Hilltop算法

6.8其他改进算法

6.8.1智能游走模型(IntelligentSurferModel)

6.8.2偏置游走模型(BiasedSurferModel)

6.8.3PHITS算法(ProbabilityAnalogyofHITS)

6.8.4BFS算法(BackwardForwardStep)

本章提要

本章参考文献

第7章云存储与云计算

7.1云存储与云计算概述

7.1.1基本假设

7.1.2理论基础

7.1.3数据模型

7.1.4基本问题

7.1.5Google的云存储与云计算架构

7.2Google文件系统(GFS)

7.2.1GFS设计原则

7.2.2GFS整体架构

7.2.3GFS主控服务器

7.2.4系统交互行为

7.3Chubby锁服务

7.4BigTable

7.4.1BigTable的数据模型

7.4.2BigTable整体结构

7.4.3BigTable的管理数据

7.4.4主控服务器(MasterServer)

7.4.5子表服务器(TabletServer)

7.5Megastore系统

7.5.1实体群组切分

7.5.2数据模型

7.5.3数据读写与备份

7.6Map/Reduce云计算模型

7.6.1计算模型

7.6.2整体逻辑流程

7.6.3应用示例

7.7咖啡因系统——Percolator

7.7.1事务支持

7.7.2观察/通知体系结构

7.8Pregel图计算模型

7.9Dynomo云存储系统

7.9.1数据划分算法(PartitioningAlgorithm)

7.9.2数据备份(Replication)

7.9.3数据读写

7.9.4数据版本控制

7.10PNUTS云存储系统

7.10.1PNUTS整体架构

7.10.2存储单元

7.10.3子表控制器与数据路由器

7.10.4雅虎消息代理

7.10.5数据一致性

7.11HayStack存储系统

7.11.1HayStack整体架构

7.11.2目录服务

7.11.3HayStack缓存

7.11.4HayStack存储系统

本章提要

本章参考文献

第8章网页反作弊

8.1内容作弊

8.1.1常见内容作弊手段

8.1.2内容农场(ContentFarm)

8.2链接作弊

8.3页面隐藏作弊

8.4Web2.0作弊方法

8.5反作弊技术的整体思路

8.5.1信任传播模型

8.5.2不信任传播模型

8.5.3异常发现模型

8.6通用链接反作弊方法

8.6.1TrustRank算法

8.6.2BadRank算法

8.6.3SpamRank

8.7专用链接反作弊技术

8.7.1识别链接农场

8.7.2识别Google轰炸

8.8识别内容作弊

8.9反隐藏作弊

8.9.1识别页面隐藏

8.9.2识别网页重定向

8.10搜索引擎反作弊综合框架

本章提要

本章参考文献

第9章用户查询意图分析

9.1搜索行为及其意图

9.1.1用户搜索行为

9.1.2用户搜索意图分类

9.2搜索日志挖掘

9.2.1查询会话(QuerySession)

9.2.2点击图(ClickGraph)

9.2.3查询图(QueryGraph)

9.3相关搜索

9.3.1基于查询会话的方法

9.3.2基于点击图的方法

9.4查询纠错

9.4.1编辑距离(EditDistance)

9.4.2噪声信道模型(NoiseChannelModel)

本章提要

本章参考文献

第10章网页去重

10.1通用去重算法框架

10.2Shingling算法

10.3I-Match算法

10.4SimHash算法

10.4.1文档指纹计算

10.4.2相似文档查找

10.5SpotSig算法

10.5.1特征抽取

10.5.2相似文档查找

本章提要

本章参考文献

第11章搜索引擎缓存机制

11.1搜索引擎缓存系统架构

11.2缓存对象

11.3缓存结构

11.4缓存淘汰策略(EvictPolicy)

11.4.1动态策略

11.4.2混合策略

11.5缓存更新策略(RefreshPolicy)

本章提要

本章参考文献

第12章搜索引擎发展趋势

12.1个性化搜索

12.2社会化搜索

12.3实时搜索

12.4移动搜索

12.5地理位置感知搜索

12.6跨语言搜索

12.7多媒体搜索

12.8情境搜索