《走进搜索引擎(第2版)》由搜索引擎开发研究领域三位年轻的博士生精心编写,作者们希望将自己对搜索引擎的理解和实际应用相结合,让未接触过搜索引擎原理和方法的读者也能轻松读懂该书的大部分内容。
《走进搜索引擎(第2版)》在第1版的基础上,删除了搜索引擎历史等章节,并对错误和不足进行了修订和补充,同时增加了潘雪峰编写的第6章“搜索引擎日志分析”,花贵春编写的第7章“排序学习(LearningtoRank)”和梁斌编写的第8章“搜索引擎的性能调优”三个主要章节,变更的内容约占第1版的一半。
第1章 引言
1.1 搜索引擎概述
1.1.1 目录式搜索引擎
1.1.2 全文搜索引擎
1.1.3 元搜索引擎(Meta-Search Engine)
1.2 搜索引擎的主要需求
1.2.1 快
1.2.2 全
1.2.3 准
1.2.4 稳
1.2.5 省
1.3 搜索引擎的4大系统
1.3.1 搜索引擎的体系结构
第2章 搜索引擎的下载系统
2.1 爬虫的发展历史
2.1.1 世界上第1个爬虫
2.1.2 爬虫的发展历程
2.2 万维网及其网页分析
2.2.1 蝴蝶结型的万维网
2.2.2 万维网的直径
2.2.3 万维网的规模及变化特征
2.2.4 网页的特征
2.3 有关爬虫的基本概念
2.3.1 爬虫
2.3.2 种子站点
2.3.3 URL
2.3.4 Backlinks
2.4 网页抓取原理
2.4.1 telnet和wget
2.4.2 从种子站点开始逐层抓取
2.4.3 不重复抓取策略
2.4.4 网页抓取优先策略
2.4.5 网页重访策略
2.4.6 Robots协议
2.4.7 其他应该注意的礼貌性问题
2.4.8 重要性网页优先抓取策略
2.4.9 抓取提速策略(合作抓取策略)
2.5 网页库
2.6 下载系统回顾及未来发展
参考文献
第3章 搜索引擎的分析系统
3.1 知识准备
3.1.1 HTML语言
3.1.2 锚文本(anchor text)
3.1.3 半结构化数据(semi-structured data)
3.2 信息抽取及网页信息结构化
3.2.1 网页结构化的目标
3.2.2 建立HTML标签树
3.2.3 通过投票方法得到正文
3.2.4 网页结构化过程回顾
3.3 网页查重
3.3.1 网页查重技术发展历史
3.3.2 网页查重实现方法
3.4 中文分词
3.4.1 什么是中文分词
3.4.2 通过字典实现分词
3.4.3 基于统计的分词方法
3.5 PageRank
3.5.1 PageRank的来由
3.5.2 PageRank的基本想法
3.5.3 PageRank的计算公式
3.5.4 PageRank的计算方法
3.6 分析系统结构图
参考文献
第4章 搜索引擎的索引系统
4.1 知识准备
4.1.1 信息
4.1.2 索引
4.1.3 倒排索引、倒排表、临时倒排文件、最终倒排文件
4.1.4 其他概念
4.2 全文检索
4.3 文档编号
4.3.1 编号的本质
4.3.2 文档编号的方法
4.3.3 游程编码
4.4 倒排索引
4.4.1 经典的倒排索引
4.4.2 正排索引(前向索引)
4.4.3 倒排索引
4.5 数据规模的估计
4.5.1 齐普夫法则
4.5.2 布尔检索模型下的索引规模估计
4.6 涉及存储规模的一些计算
4.6.1 正排表与倒排表的合并
4.6.2 多个临时倒排文件的归并
4.6.3 倒排索引分布式存储
4.6.4 倒排文件缓存
4.6.5 倒排索引词典统计信息的计算
4.7 倒排索引文件的创建过程
4.7.1 创建倒排表
4.7.2 计算统计信息
参考文献
第5章 搜索引擎的查询系统
5.1 知识准备
5.1.1 什么是信息熵
5.1.2 检索和查询的区别
5.1.3 检索词和查询词的区别
5.1.4 自动文本摘要(Automatic Text Summarization)
5.2 网页信息检索
5.2.1 早期的检索模型
5.2.2 向量空间模型(Vector Space Models)
5.2.3 关键词权重的量化方法TF/IDF
5.2.4 搜索引擎采用的检索模型
5.2.5 多文档列表求交计算
5.2.6 检索结果排序
5.2.7 堆排序
5.3 中文自动摘要
5.3.1 自动摘要的发展历史
5.3.2 自动摘要的含义和实现
5.4 生成搜索结果页
5.4.1 生成搜索结果页
5.5 搜索结果页的缓存
5.6 推测用户查询意图
5.6.1 查询分类
5.6.2 推测信息类、事物类的查询意图
5.7 查询系统的当前热点和发展方向
5.7.1 查询系统的当前热点
5.7.2 查询系统的发展方向
参考文献
第6章 搜索引擎日志分析
6.1 简介
6.1.1 人机交互的记录——日志
6.1.2 分析搜索引擎日志的意义
6.1.3 本章的主要内容
6.2 知识准备
6.2.1 二分图模型(Bipartite Model)
6.2.2 图模型(graphical model)
6.2.3 LDA(Latent Dirichlet Allocation)模型
6.2.4 随机游走 (Random Walk)
6.2.5 小结
6.3 查询日志分析
6.3.1 查询日志的内容
6.3.2 查询词频统计
6.3.3 查询串提示(Suggestion)
6.3.4 命名实体(Named Entity)类别识别
6.3.5 小结
6.4 点击日志分析
6.4.1 点击日志的内容
6.4.2 查询串提示(Suggestion)再分析
6.4.3 查询和结果类别属性传递
6.4.4 搜索结果相似性度量
6.4.5 查询结果排序
6.4.6 点击数据的稀疏性
6.4.7 小结
6.5 隐私问题
6.5.1 日志的两面性
6.5.2 日志的安全使用
6.5.3 小结
6.6 本章总结
参考文献
第7章 排序学习(Learning to Rank)
7.1 排序概述
7.2 传统的排序模型
7.2.1 查询相关的排序模型
7.2.2 查询无关的排序模型
7.3 排序学习简介以及研究现状
7.3.1 排序学习简介
7.3.2 排序学习问题的研究现状
7.4 排序学习模型的应用实例
7.5 排序学习方法的框架
7.5.1 参数设置
7.5.2 排序学习方法的框架
7.6 评测数据集
7.6.1 LETOR数据集
7.6.2 Microsoft Learning to Rank数据集
7.6.3 Yahoo Webscope数据集
7.7 排序学习模型简介
7.7.1 实例
7.7.2 Pointwise方法
7.7.3 Pairwise方法
7.7.4 Listwise方法
7.7.5 3种排序方法的对比
7.8 排序学习模型性能比较
7.8.1 评测方法
7.8.2 排序模型性能的比较
7.9 排序学习的研究方向
7.9.1 标准标注的自动构建
7.9.2 排序特征
7.9.3 半监督学习/主动学习
7.9.4 查询相关的排序模型
7.9.5 利用用户行为特征
7.10 总结
参考文献
第8章 搜索引擎的性能调优
8.1 系统调优概述
8.2 瓶颈识别
8.3 涉及CPU的优化方法
8.3.1 上下文切换问题(context switching)
8.3.2 中断和轮询
8.3.3 CPU的Affinity问题
8.3.4 流水线问题
8.4 涉及内存的优化方法
8.4.1 概述
8.4.2 对换区
8.4.3 cache line
8.4.4 false sharing问题
8.4.5 内存的锁问题
8.4.6 内存库的使用
8.5 涉及磁盘的优化方法
8.5.1 磁盘IO的调度
8.5.2 其他常见磁盘参数调优
8.5.3 磁盘读写方式
8.5.4 文件缓存问题
8.5.5 5分钟法则
8.6 涉及网络的优化方法
8.6.1 搜索首页,结果页提速方法
8.6.2 Web server的架构选择
参考文献
《基础和声音响建构与应用教程》内容简介:本书包括《基础和声音响建构与应用教程》《基础和声音响建构与应用教程·课后同步配套练
该丛书从我国移动通信技术应用现状与发展情况出发,以系统与技术为中心,全面系统地介绍了当今移动通信领域涉及的有关关键技术与
《寻找鱼王(经典名作口碑版本)》内容简介:本书是作家张炜具有代表性的一部儿童文学作品,于2015年出版。这部小说贯穿始终的是正
《jQuery用户界面库学习指南》介绍了jQuery用户界面库的各种界面控件和交换助手组件,涵盖了jQuery用户界面库的各种方法与技巧。
软件“风格”所要讨论的主题是如何在开销与功能之间、优雅与可维护性之间、灵活。性与过分灵活之间寻找完美的平街点。在本书中,
《中国:将对世界做出更大贡献》内容简介:“一带一路”倡议是21世纪的中国向世界发出的时代倡议,正在也必将给广大发展中国家,乃
Access活用范例大辞典-全新版-(附赠光盘) 本书特色 本书侧重于access的基础应用技巧,共11章,分为四大部分:**部分为第1~4章,着重介绍acce...
《实用卷积神经网络:运用Python实现高级深度学习模型》内容简介:本书从深度神经网络概述开始,通过一个图像分类的例子带你构建第
我也能掌握Flash编程:8.0版 内容简介 本书介绍了制作Flash特效、Flash游戏等所需要的Flash编程技巧,主要内容包括Flash编程的语法基础、事...
《JavaScript语法与范例辞典》通过大量实例对JavaScript的语法进行了详细讲解,内容包括JavaScript基础知识、JavaScript对象、H...
《Hadoop实战》作为云计算所青睐的分布式架构,Hadoop是一个用Java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据
《企业迷思:北大管理公开课》内容简介:这本书为作者宋志平在北大光华管理学院MBA讲堂的授课实录,共分战略、管理、创新、文化四个
《中国创投地图2》内容简介:《中国创投地图2》围绕着人工智能、区块链、教育、医疗、小程序、新零售,聚百家之言,从行业专家、投
jQuery全面提速 本书特色 结合实例详细讲解jquery1.4.2核心库通过jquery遍历dom元素和处理文档通过jquery处理事件和添加动画效果通过j...
《Kubernetes实战》内容简介:在本书中,四位在分布式系统、企业应用开发和开源领域有着丰富经验的Kubernetes专家将会对使用Kubern
《知道点世界哲学》内容简介:是谁提出“人不能两次踏进同一条河流”?为什么斯宾诺莎是被骂名包围的哲学家?俄罗斯的飞翔的双头鹰
算法-(英文版.第4版) 本书特色 本书作为算法领域经典的参考书,全面介绍了关于算法和数据结构的知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。第4 ...
ASP.NET不仅是微软最重要的战略性产品之一,而且还是Web开发领域最具创新性、最成功的技术之一。它可完全利用.NET架构的强大、高
《版权赋能,丝路无疆》内容简介:报告首先挖掘了丝绸业在吴江的历史缘起,继而介绍了吴江丝绸纺织工业的形成、演进与发展历程,分
谭浩强教授,我国著名计算机教育专家。1934年生,广东台山人。1985年清华大学自动控制系毕业。学生时代曾担任清华大学学生会主席