第1章 抉择 1
第2章 数据收集 4
2.1 互联网数据收集 4
2.1.1 网络爬虫 5
2.1.2 Apache Nutch简介 11
2.1.3 Heritrix简介 14
2.2 内部数据收集 15
2.2.1 Apache Flume简介 17
2.2.2 Facebook Scribe和Logstash 21
2.3 本章心得 21
2.4 参考资料 22
第3章 数据存储 23
3.1 持久化存储 23
3.1.1 Hadoop和HDFS 25
3.1.2 HBase简介 28
3.1.3 MongoDB 35
3.2 非持久化存储 37
3.2.1 缓存和散列 37
3.2.2 Memcached和Berkeley DB简介 41
3.2.3 Redis简介 41
3.3 本章心得 44
3.4 参考资料 44
第4章 数据处理 46
4.1 离线批量处理 46
4.1.1 Hadoop的MapReduce 47
4.1.2 Spark简介 52
4.1.3 Hive简介 53
4.1.4 Pig、 Impala和Spark SQL 56
4.2 提升及时性:消息机制 58
4.2.1 ActiveMQ简介 60
4.2.2 Kafka简介 61
4.3 在线实时处理 63
4.3.1 Storm简介 63
4.3.2 Spark Streaming简介 66
4.4 本章心得 66
4.5 参考资料 67
第5章 信息检索 69
5.1 基本理念 70
5.2 相关性 70
5.2.1 布尔模型 70
5.2.2 基于排序的布尔模型 71
5.2.3 向量空间模型 74
5.2.4 语言模型 75
5.3 及时性 77
5.4 与数据库查询的对比 81
5.5 搜索引擎 82
5.5.1 Web搜索中的链接分析 83
5.5.2 电子商务中的商品排序 86
5.5.3 多因素和基于学习的排序 88
5.5.4 系统框架 89
5.5.5 Lucene简介 93
5.5.6 Solr简介 98
5.5.7 Elasticsearch简介 104
5.6 推荐系统 108
5.6.1 推荐的核心要素 109
5.6.2 推荐系统的分类 110
5.6.3 混合模型 115
5.6.4 系统架构 116
5.6.5 Mahout 116
5.7 在线广告 119
5.7.1 在线广告的类型 120
5.7.2 广告投放机制 124
5.7.3 广告的拍卖机制 125
5.7.4 广告系统架构 126
5.8 本章心得 127
5.9 参考资料 128
第6章 数据挖掘 130
6.1 基本理念 131
6.2 数据的表示和预处理 133
6.2.1 数据的表示 133
6.2.2 数据的预处理 135
6.3 机器学习算法 136
6.3.1 监督学习——分类 137
6.3.2 监督学习——回归 152
6.3.3 非监督学习——聚类 153
6.4 挖掘工具 157
6.4.1 Mahout简介 157
6.4.2 R简介 159
6.5 本章心得 165
6.6 参考资料 165
第7章 效能评估 167
7.1 效果评估 168
7.1.1 离线评估 169
7.1.2 非离线的评估 183
7.2 性能评估 190
7.2.1 计算复杂度 191
7.2.2 应用系统性能 193
7.2.3 JMeter工具 197
7.3 本章心得 202
7.4 参考资料 202
第8章 大数据技术全景 204
第9章 商品太多啦!需要搜索 207
引擎 207
9.1 业务需求 207
9.2 产品设计和技术选型 208
9.3 实现方案 211
9.3.1 数据定义和配置 211
9.3.2 集群搭建 213
9.3.3 DIH配置 216
第10章 能否更主动?还需要推荐引擎 223
10.1 业务需求 223
10.2 产品设计和技术选型 225
10.3 实现方案 230
10.3.1 基于内容特征的衡量 230
10.3.2 基于行为特征的衡量 233
10.3.3 提供在线服务 236
第11章 这样做的效果如何 241
11.1 业务需求 241
11.2 产品设计和技术选型 242
11.3 实现方案 243
11.3.1 行为数据的定义和记录 243
11.3.2 Flume和HDFS的集成 246
11.3.3 通过Hive进行分析 252
11.3.4 Kafka和Storm的集成 254
第12章 这个搜索有点逊 258
12.1 业务需求:还要搜得更多 258
12.2 “还要搜得更多”:产品设计和技术选型 259
12.3 “还要搜得更多”的方案实现 261
12.3.1 HBase的部署 261
12.3.2 HBase和Solr的集成 264
12.4 业务需求:还要搜得更准 265
12.5 “还要搜得更准”:产品设计和技术选型 266
12.5.1 提升搜索排序的相关性 266
12.5.2 提升搜索排序的整体效果 268
12.6 “还要搜得更准”的方案实现 271
12.7 业务需求:还要更快 273
12.8 还要“变”得更快:产品设计和技术选型 274
12.9 还要“搜”得更快:产品设计和技术选型 275
12.10 业务需求:给点提示吧 280
12.11 给点提示吧:产品设计和技术选型 282
第13章 支持更高效的运营 287
13.1 业务需求:互联网时代的CRM 287
13.2 互联网时代的CRM:产品设计和技术选型 288
13.3 业务需求:抓住捣蛋鬼 291
13.4 抓住捣蛋鬼:产品设计和技术选型 292
13.4.1 识别分类错放 292
13.4.2 识别SEO作弊 294
13.5 业务需求:销售之战 295
13.6 销售之战:产品设计和技术选型 296
13.6.1 设置合理的价格 296
13.6.2 识别黄牛 298
后记 299