第1章 搜索引擎初探 1
1.1 Eclipse开发环境 1
1.1.1 Eclipse简介 1
1.1.2 JDK与JRE 1
1.1.3 JDK和Eclipse的安装 2
1.1.4 用Eclipse开发HelloWorld项目 7
1.2 Lucene环境配置 11
1.2.1 Lucene简介 11
1.2.2 Lucene的安装 13
1.3 Lucene索引与检索示例 14
1.3.1 索引和检索的概念 14
1.3.2 一个简单的搜索应用程序 14
1.4 小结 17
参考文献 17
第2章 基于Lucene的本地检索 18
2.1 Lucene索引简介 18
2.1.1 Lucene索引 18
2.1.2 Lucene索引文件 20
2.2 Lucene的索引接口 21
2.2.1 Directory类 21
2.2.2 Analyzer类 21
2.2.3 Document类与Field类 21
2.2.4 IndexWriter类 22
2.3 Lucene的检索接口 23
2.3.1 IndexSearcher类 23
2.3.2 Term类 23
2.3.3 Query类 24
2.3.4 QueryParser类 24
2.3.5 Sort类和Hits类 24
2.4 中文分词 24
2.5 基于Lucene的本地检索实战 27
2.5.1 文本数据准备 27
2.5.2 Lucene本地索引 27
2.5.3 Lucene本地检索 31
2.6 索引可视化工具Luke 32
2.7 小结 35
参考文献 35
第3章 基于Solr的网络检索 36
3.1 Solr简介 36
3.2 Solr配置和使用 37
3.2.1 Tomcat安装 37
3.2.2 安装并配置Solr至Tomcat 38
3.2.3 新建并配置core 42
3.2.4 配置和使用中文分词 43
3.3 基于Solr的网络检索实战 47
3.3.1 数据准备 47
3.3.2 Solr网络索引 48
3.3.3 Solr网络检索 51
3.4 小结 52
参考文献 53
第4章 基于Lire全局特征的图像检索 54
4.1 Lire简介 54
4.1.1 Lire库导入 54
4.1.2 Lire库分析 56
4.2 Lire全局特征索引 57
4.2.1 Lire全局特征索引方法 57
4.2.2 Lire全局特征索引实现 57
4.3 Lire全局特征检索 60
4.3.1 Lire全局特征检索方法 60
4.3.2 Lire全局特征检索实现 61
4.4 Caltech256数据测试 63
4.4.1 测试数据和基本思路 63
4.4.2 测试实现 63
4.5 基于Lire全局特征的图像检索实战 66
4.5.1 主体框架构建 66
4.5.2 外部依赖包导入 67
4.5.3 搜索引擎界面实现 69
4.5.4 搜索引擎后台实现 71
4.5.5 搜索引擎配置和部署 77
4.5.6 搜索引擎操作和效果 78
4.6 小结 79
参考文献 80
第5章 基于Lire局部特征的图像检索 81
5.1 词袋模型简介 81
5.2 Lire局部特征索引 83
5.2.1 Lire局部特征索引方法 83
5.2.2 Lire局部特征索引实现 84
5.3 Lire局部特征检索 85
5.3.1 Lire局部特征检索方法 85
5.3.2 Lire局部特征检索实现 86
5.4 Lire中SIFT特征的改进 87
5.5 Caltech256数据测试 92
5.6 基于Lire局部特征的图像检索实战 93
5.6.1 主体框架构建 93
5.6.2 搜索引擎界面实现 94
5.6.3 搜索引擎后台实现 94
5.6.4 搜索引擎配置和部署 98
5.6.5 搜索引擎操作和效果 98
5.7 小结 99
参考文献 99
第6章 面向Lire定制图像检索新特征 101
6.1 Lire特征类的结构 101
6.2 Lire颜色布局特征 102
6.3 添加新的图像特征 105
6.4 矩特征的索引和检索 110
6.5 小结 112
参考文献 112
第7章 面向Lire定制图像检索的相关反馈 114
7.1 基于SVM的相关反馈原理 114
7.2 相关反馈实战 115
7.2.1 主体框架构建 115
7.2.2 外部依赖包导入 115
7.2.3 搜索引擎界面实现 116
7.2.4 搜索引擎后台实现 117
7.2.5 搜索引擎配置和部署 118
7.2.6 搜索引擎操作和效果 119
7.3 关键代码解析 120
7.3.1 生成索引阶段 120
7.3.2 查找检索阶段 121
7.3.3 反馈检索阶段 123
7.4 小结 127
参考文献 127
第8章 基于预训练卷积特征的图像检索 128
8.1 卷积神经网络技术 128
8.1.1 卷积 129
8.1.2 池化 130
8.1.3 ReLU 130
8.1.4 全连接 130
8.2 卷积神经网络模型简介 131
8.2.1 AlexNet网络模型 131
8.2.2 VGGNet网络模型 132
8.2.3 ResNet网络模型 133
8.3 基于预训练卷积特征的图像检索实战 135
8.3.1 环境配置 135
8.3.2 数据准备 137
8.3.3 预训练网络特征提取 137
8.3.4 预训练网络检索评测 140
8.3.5 预训练网络检索效果 144
8.4 小结 146
参考文献 146
第9章 基于迁移学习卷积特征的图像检索 147
9.1 迁移学习技术 147
9.2 迁移学习方法简介 148
9.2.1 迁移学习的定义与分类 148
9.2.2 深度迁移学习 148
9.2.3 卷积神经网络的迁移 149
9.2.4 迁移学习抑制过拟合 150
9.3 基于迁移学习卷积特征的图像检索实战 151
9.3.1 迁移学习网络设计 152
9.3.2 数据准备 152
9.3.3 迁移学习网络构建 155
9.3.4 迁移学习网络训练 157
9.3.5 迁移学习网络检索评测 159
9.3.6 迁移学习网络检索效果 159
9.4 小结 162
参考文献 162
第10章 基于局部敏感哈希的图像检索 163
10.1 局部敏感哈希技术 163
10.1.1 哈希简介 163
10.1.2 近似最近邻搜索问题 164
10.2 局部敏感哈希方法简介 165
10.2.1 LSH算法 166
10.2.2 E2LSH算法 167
10.3 基于局部敏感哈希的图像检索实战 168
10.3.1 局部敏感哈希软件包 168
10.3.2 局部敏感哈希函数功能介绍 168
10.3.3 局部敏感哈希测试数据集 170
10.3.4 局部敏感哈希索引建立 170
10.3.5 局部敏感哈希索引分析 173
10.3.6 局部敏感哈希检索效果 178
10.4 小结 181
参考文献 181
第11章 基于深度哈希的图像检索 182
11.1 深度哈希技术 182
11.2 深度哈希方法简介 183
11.3 基于深度哈希的图像检索实战 185
11.3.1 深度哈希网络设计 185
11.3.2 深度哈希网络构建 187
11.3.3 深度哈希网络训练 189
11.3.4 深度哈希网络检索评测 190
11.3.5 深度哈希网络检索效果 192
11.4 小结 193
参考文献 193
第12章 跨模态的深度哈希图文检索 195
12.1 跨模态检索技术 195
12.2 跨模态检索方法简介 196
12.2.1 基于典型相关性分析的跨模态检索 196
12.2.2 基于深度学习的跨模态检索 197
12.3 跨模态的深度哈希图文检索实战 199
12.3.1 跨模态哈希网络设计 199
12.3.2 数据准备 200
12.3.3 跨模态哈希网络构建 201
12.3.4 跨模态哈希网络训练 205
12.3.5 跨模态哈希网络特征提取 207
12.3.6 跨模态哈希网络检索评测 209
12.4 小结 211
参考文献 212
附录A 信息检索评价指标 213
A.1 召回率与准确率 213
A.2 F1分数指标 213
A.3 mAP指标 214
A.4 CMC曲线 215