第1章 搜索引擎概述 1
1.1 搜索引擎的概念 1
1.2 搜索引擎的发展史 2
1.3 搜索引擎的分类 5
1.4 搜索引擎的信息检索模型 7
1.5 建立搜索引擎的关键技术 8
1.6 中文搜索引擎的发展趋势 9
1.7 主要搜索引擎介绍 10
1.7.1 谷歌(Google)搜索 10
1.7.2 雅虎(Yahoo)搜索 13
1.7.3 百度(Baidu)搜索 15
1.7.4 天网搜索 18
1.8 小结 19
思考题 21
第2章 搜索引擎的工作原理 22
2.1 搜索引擎的基本结构及工作原理 22
2.2 网页的搜集 24
2.3 网页内容的提取 25
2.4 查询服务 26
2.5 小结 28
思考题 28
第3章 信息检索的模型 29
3.1 经典模型 29
3.1.1 布尔模型 29
3.1.2 向量模型 30
3.1.3 概率模型 31
3.2 代数模型 33
3.2.1 广义向量空间模型 34
3.2.2 神经网络模型 34
3.3 其他概率模型 37
3.3.1 贝叶斯网络 37
3.3.2 推理网络模型 37
3.3.3 信任度网络模型 38
3.4 小结 40
思考题 41
第4章 文本操作 42
4.1 文本预处理 42
4.1.1 文本的词法分析 42
4.1.2 中文分词技术 43
4.1.3 无用词汇的删除 48
4.1.4 词干提取技术 48
4.1.5 索引词条的选择 56
4.1.6 词典 56
4.2 文本聚类 57
4.2.1 文本聚类算法 57
4.2.2 文本聚类中的相关概念 58
4.2.3 特征空间的降维处理 59
4.3 文本压缩 59
4.3.1 基本概念 59
4.3.2 统计方法 60
4.3.3 字典方法 66
4.3.4 倒排文档压缩 71
4.4 小结 74
思考题 75
第5章 文本信息检索技术 77
5.1 顺排文档检索 77
5.1.1 表展开法 77
5.1.2 逻辑树展开法 80
5.1.3 其他顺排文档检索算法 86
5.2 倒排文档检索 91
5.2.1 倒排文档的检索 91
5.2.2 倒排文档的建立 92
5.2.3 逆波兰表达式 94
5.2.4 检索指令表的生成 96
5.2.5 检索实施 97
5.3 布尔检索 97
5.4 加权检索 98
5.4.1 检索词加权检索 98
5.4.2 词频加权检索 99
5.4.3 标引加权检索 99
5.5 全文检索 100
5.5.1 全文检索的技术指标 100
5.5.2 全文检索的实现 102
5.5.3 全文检索效率的提高 104
5.6 超文本检索 105
5.6.1 超文本技术概述 105
5.6.2 超文本的功能及结构 108
5.6.3 超文本检索的优缺点 108
5.7 分布式信息检索 110
5.7.1 分布式检索的查询协议 110
5.7.2 分布式检索系统的结构 112
5.7.3 分布式信息检索模式 114
5.7.4 分布式检索资源选择 119
5.8 分布式数据库查询技术 122
5.8.1 分布式数据库的基本概念 123
5.8.2 利用C#实现分布式数据库查询 125
5.8.3 基于.NET Remoting的查询技术 128
5.8.4 基于DCOM的分布式查询技术 131
5.8.5 基于JDBC的查询技术 133
5.8.6 基于Servlet的查询技术 135
5.8.7 基于CORBA的查询技术 137
5.8.8 基于Agent的查询技术 139
5.9 小结 142
思考题 143
第6章 信息检索评价 144
6.1 相关性 144
6.1.1 相关性的特征 144
6.1.2 相关性研究类别 145
6.1.3 相关性模型 146
6.2 信息检索性能评价 149
6.2.1 信息检索系统的有效性 149
6.2.2 评价指标 150
6.2.3 Web检索系统性能评价 152
6.3 信息检索领域的相关组织和会议 153
6.4 小结 154
思考题 155
第7章 文本分类与聚类 156
7.1 分类与聚类介绍 156
7.1.1 文本分类 156
7.1.2 文本聚类 157
7.1.3 文本分类的算法 158
7.1.4 文本聚类的算法 159
7.1.5 自动分类与自动聚类 161
7.1.6 文本分类的评测方法与指标 161
7.1.7 文本聚类的评测方法与指标 163
7.2 常用文本分类方法 165
7.2.1 文本分类的问题 165
7.2.2 kNN分类算法 166
7.2.3 NB分类算法 167
7.2.4 决策树分类算法 167
7.2.5 Rocchio分类算法 167
7.2.6 支持向量机分类算法 168
7.2.7 特征选择分类算法 169
7.2.8 文本分类系统的实现 171
7.3 常用文本聚类方法 174
7.3.1 层次聚类算法 175
7.3.2 分割聚类算法 177
7.3.3 基于密度的聚类算法 178
7.3.4 基于网格的聚类算法 179
7.3.5 基于模型的聚类算法 181
7.4 小结 182
思考题 184
第8章 Web信息检索技术 185
8.1 Web信息处理的基本技术 185
8.1.1 Web信息的基本特点 185
8.1.2 Web信息的表现方式 186
8.1.3 Web信息系统结构 186
8.1.4 网络信息资源的组织与管理 188
8.2 Web数据挖掘 191
8.2.1 Web挖掘流程 191
8.2.2 Web挖掘的分类及现状 192
8.2.3 Web数据挖掘和Web信息检索的区别 194
8.3 Web信息检索的关键技术 195
8.3.1 文档搜集 195
8.3.2 文档预处理 197
8.3.3 索引数据库的建立 198
8.3.4 相似度计算与排序方法 199
8.4 搜索引擎的基本结构 203
8.4.1 搜索引擎的结构分类 203
8.4.2 网页收集模块 204
8.4.3 网页索引模块 205
8.4.4 查询模块 206
8.4.5 用户界面 206
8.4.6 搜索引擎的主要指标及分析 206
8.5 搜索引擎的数据结构 207
8.5.1 存储结构 207
8.5.2 信息库 209
8.5.3 文本索引 209
8.5.4 词典 210
8.5.5 采样表 210
8.5.6 前向索引 210
8.5.7 后向索引 211
8.6 搜索引擎爬虫 212
8.6.1 网络爬虫 212
8.6.2 深度优先策略 213
8.6.3 广度优先策略 214
8.6.4 不重复抓取策略 215
8.6.5 网页抓取优先策略 219
8.6.6 网页重访策略 220
8.6.7 网页抓取提速策略 220
8.6.8 Robots协议 221
8.6.9 网页内容提取技术 223
8.7 元搜索引擎 224
8.7.1 元搜索引擎的基本构成 225
8.7.2 常用元搜索引擎介绍及其分类 226
8.7.3 与独立搜索引擎的比较 229
8.7.4 主要技术指标及分析 230
8.8 小结 231
思考题 233
第9章 搜索引擎开发技术 234
9.1 实例简介 234
9.1.1 搜索引擎的体系结构 235
9.1.2 网页搜集 236
9.1.3 网页预处理 236
9.1.4 查询服务 237
9.2 环境搭建与配置 238
9.2.1 idk1.6的安装与配置 239
9.2.2 eclipse的安装与配置 240
9.2.3 Tomcat的安装与配置 241
9.2.4 Heritrix的安装与配置 244
9.3 网页搜集的实现 255
9.3.1 扩展Heritrix 255
9.3.2 抓取网页 257
9.4 预处理的实现 259
9.4.1 原始网页的处理 259
9.4.2 建立索引——Lucene 265
9.5 提供查询服务 268
9.5.1 搜索引擎架构设计 268
9.5.2 后台设计和实现 269
9.5.3 页面设计和实现 273
9.5.4 部署到Tomcat 275
9.6 小结 276
实验 276
参考文献 277