【免费下载】从Lucene到Elasticsearch:全文检索实战 PDF

免密码下载连接:https://pan.baidu.com/s/1I-_FQmcgPZs8crA2aPg2ew

《【免费下载】从Lucene到Elasticsearch:全文检索实战 PDF》

作者简介

姚攀:中国科学院大学硕士,擅长j2ee开发,对搜索引擎技术有浓厚的兴趣和较深入研究,有丰富的LuceneElasticSearch开发经历和项目经验,活跃于CSDN社区,目前在一家公司做ES搜索业务开发。

目录


1
信息检索模型 1
1.1
信息检索概述 1
1.1.1
信息过载 1
1.1.2
信息检索定义 2
1.1.3
信息检索常用术语 3
1.1.4
信息检索系统 4
1.2
分词算法 5
1.2.1
分词算法概述 5
1.2.2
词典匹配分词法 6
1.2.3
语义理解分词法 6
1.2.4
词频统计分词法 7
1.3
倒排索引 7
1.4
布尔检索模型 9
1.5 tf-idf
权重计算 11
1.6
向量空间模型 13
1.7
概率检索模型 16
1.7.1
贝叶斯决策理论 17
1.7.2
二值独立模型 18
1.7.3 Okapi BM25
模型 20
1.7.4 BM25F
模型 20
1.8
本章小结 21
2 Lucene开发入门 22
2.1 Lucene
概述 22
2.1.1 Lucene
简介 22
2.1.2 Lucene
特点 22
2.1.3 Lucene
架构 23
2.2 Lucene
开发准备 25
2.2.1
下载Lucene文件库 25
2.2.2
工程中引入Lucene 26
2.2.3
下载Luke 27
2.2.4
下载IK分词工具 28
2.2.5
工程搭建 29
2.3 Lucene
分词详解 30
2.3.1 Lucene
分词系统 30
2.3.2
分词器测试 31
2.3.3 IK
分词器配置 34
2.3.4
中文分词器对比 36
2.3.5
扩展停用词词典 38
2.3.6
扩展自定义词典 38
2.4 Lucene
索引详解 40
2.4.1 Lucene
字段类型 40
2.4.2
索引文档示例 41
2.4.3 Luke
中查看索引 46
2.4.4
索引的删除 48
2.4.5
索引的更新 49
2.5 Lucene
查询详解 50
2.5.1
搜索入门 51
2.5.2
多域搜索(MultiFieldQueryParser 52
2.5.3
词项搜索(TermQuery 53
2.5.4
布尔搜索(BooleanQuery 53
2.5.5
范围搜索(RangeQuery 54
2.5.6
前缀搜索(PrefixQuery 55
2.5.7
多关键字搜索(PhraseQuery 55
2.5.8
模糊搜索(FuzzyQuery 55
2.5.9
通配符搜索(WildcardQuery 56
2.6 Lucene
查询高亮 56
2.7 Lucene
新闻高频词提取 58
2.7.1
问题提出 58
2.7.2
需求分析 58
2.7.3
编程实现 58
2.8
本章小结 61
3 Lucene文件检索项目实战 62
3.1
需求分析 62
3.2
架构设计 63
3.3
文本内容抽取 64
3.3.1 Tika
简介 64
3.3.2 Tika
下载 64
3.3.3
搭建工程 65
3.3.4
内容抽取 66
3.3.5
自动解析 68
3.4
工程搭建 71
3.5
索引文档 72
3.6
查询界面 75
3.7
文件检索 77
3.8
结果展示 80
3.9
本章小结 85
4
LuceneElasticsearch 86
4.1 Elasticsearch
概述 86
4.1.1
诞生过程 86
4.1.2
流行度分析 88
4.1.3
架构解读 89
4.1.4
优点 89
4.1.5
应用场景 90
4.1.6
核心概念 92
4.1.7
对比RDMS 94
4.1.8
文档结构 94
4.2
安装Elasticsearch 95
4.2.1
安装Java 96
4.2.2
下载Elasticsearch 97
4.2.3
启动Elasticsearch 97
4.2.4
后台运行Elasticsearch 99
4.2.5
关闭Elasticsearch 99
4.2.6
基本配置 100
4.3
中文分词器配置 101
4.3.1 IK
分词器安装 101
4.3.2
扩展本地词库 102
4.3.3
配置远程词库 103
4.4 Head
插件使用指南 105
4.4.1 Head
插件的安装 105
4.4.2 Head
插件的使用 107
4.5 REST
命令 109
4.5.1 CURL
工具 110
4.5.2 Kibana Dev Tools 111
4.6
本章小结 112
5 Elasticsearch集群入门 113
5.1
索引管理 113
5.1.1
新建索引 113
5.1.2
更新副本 115
5.1.3
读写权限 115
5.1.4
查看索引 116
5.1.5
删除索引 117
5.1.6
索引的打开与关闭 118
5.1.7
复制索引 118
5.1.8
收缩索引 119
5.1.9
索引别名 120
5.2
文档管理 123
5.2.1
新建文档 123
5.2.2
获取文档 125
5.2.3
更新文档 127
5.2.4
查询更新 129
5.2.5
删除文档 129
5.2.6
查询删除 130
5.2.7
批量操作 130
5.2.8
版本控制 133
5.2.9
路由机制 136
5.3
映射详解 137
5.3.1
映射分类 137
5.3.2
动态映射 138
5.3.3
日期检测 140
5.3.4
静态映射 141
5.3.5
字段类型 142
5.3.6
元字段 156
5.3.7
映射参数 162
5.3.8
映射模板 180
5.4
本章小结 181
6 Elasticsearch搜索详解 182
6.1
搜索机制 182
6.2
全文查询 188
6.2.1 match query 188
6.2.2 match_phrase query 190
6.2.3 match_phrase_prefix query 190
6.2.4 multi_match query 190
6.2.5 common_terms query 191
6.2.6 query_string query 193
6.2.7 simple_query_string 193
6.3
词项查询 193
6.3.1 term query 193
6.3.2 terms query 193
6.3.3 range query 194
6.3.4 exists query 194
6.3.5 prefix query 195
6.3.6 wildcard query 195
6.3.7 regexp query 196
6.3.8 fuzzy query 196
6.3.9 type query 196
6.3.10 ids query 197
6.4
复合查询 197
6.4.1 constant_score query 197
6.4.2 bool query 198
6.4.3 dis_max query 198
6.4.4 function_score query 199
6.4.5 boosting query 200
6.4.6 indices query 201
6.5
嵌套查询 202
6.5.1 nested query 202
6.5.2 has_child query 202
6.5.3 has_parent query 204
6.6
位置查询 205
6.6.1 geo_distance query 206
6.6.2 geo_bounding_box query 206
6.6.3 geo_polygon query 208
6.6.4 geo_shape query 209
6.7
特殊查询 210
6.7.1 more_like_this query 210
6.7.2 script query 211
6.7.3 percolate query 211
6.8
搜索高亮 213
6.8.1
自定义高亮片段 213
6.8.2
多字段高亮 213
6.8.3
高亮性能分析 214
6.9
搜索排序 215
6.9.1
默认排序 215
6.9.2
多字段排序 215
6.9.3
分片影响评分 216
6.10
本章小结 218
7
聚合分析 219
7.1
指标聚合 219
7.1.1 Max Aggregation 219
7.1.2 Min Aggregation 220
7.1.3 Avg Aggregation 220
7.1.4 Sum Aggregation 221
7.1.5 Cardinality Aggregation 221
7.1.6 Stats Aggregation 222
7.1.7 Extended Stats Aggregation 222
7.1.8 Percentiles Aggregation 223
7.1.9 Value Count Aggregation 224
7.2
桶聚合 224
7.2.1 Terms Aggregation 225
7.2.2 Filter Aggregation 227
7.2.3 Filters Aggregation 227
7.2.4 Range Aggregation 228
7.2.5 Date Range Aggregation 231
7.2.6 Date Histogram Aggregation 232
7.2.7 Missing Aggregation 233
7.2.8 Children Aggregation 233
7.2.9 Geo Distance Aggregation 234
7.2.10 IP Range Aggregation 235
7.3
本章小结 236
8 Elasticsearch Java API 237
8.1 Java API
简介 237
8.2 Maven
依赖 238
8.3
依赖冲突 240
8.4
连接到集群 240
8.4.1
传输机连接 241
8.4.2
节点连接 241
8.4.3
代码实现 241
8.5
索引管理 243
8.6
文档管理 246
8.6.1
新建文档 246
8.6.2
获取文档 249
8.6.3
删除文档 250
8.6.4
更新文档 250
8.6.5
查询删除 252
8.6.6
批量获取 252
8.6.7
批量操作 253
8.7
搜索详解 254
8.7.1
全文查询 257
8.7.2
词项查询 257
8.7.3
复合查询 258
8.7.4
嵌套查询 260
8.7.5
位置查询 260
8.7.6
特殊查询 261
8.8
聚合分析 262
8.8.1
指标聚合 263
8.8.2
桶聚合 265
8.9
集群管理 269
8.10
本章小结 269
9
集群管理 270
9.1
集群规划 270
9.2
索引规划 272
9.3
分布式集群 273
9.4 Cat API 275
9.4.1 cat aliases 275
9.4.2 cat allocation 275
9.4.3 cat count 275
9.4.4 cat fielddata 276
9.4.5 cat health 276
9.4.6 cat indices 276
9.4.7 cat master 276
9.4.8 cat nodeattrs 277
9.4.9 cat nodes 277
9.4.10 cat pending tasks 277
9.4.11 cat plugins 277
9.4.12 cat recovery 278
9.4.13 cat repositories 278
9.4.14 cat thread pool 278
9.4.15 cat shards 278
9.4.16 cat segments 279
9.4.17 cat templates 279
9.5 Cluster API 279
9.5.1 Cluster Health 279
9.5.2 Cluster State 281
9.5.3 Cluster Stats 282
9.5.4 Pending Cluster Tasks 282
9.5.5 Cluster Reroute 282
9.5.6 Cluster Update Settings 283
9.5.7 Nodes Stats 283
9.5.8 Nodes Info 283
9.5.9 Task Management API 284
9.5.10 Cluster Allocation Explain API 284
9.6
监控插件 284
9.7
本章小结 286
10
新闻搜索项目实战 287
10.1
需求分析 287
10.2
数据准备 288
10.3
数据导入 290
10.4
查询界面 294
10.5
搜索新闻 296
10.6
结果展示 298
10.7
本章小结 302
11 Elasticsearch For Hadoop 303
11.1 Hadoop
基础 304
11.1.1 SSH
配置 304
11.1.2 Hadoop
下载 305
11.1.3 Hadoop
单机模式 305
11.1.4 Hadoop
伪分布式模式 306
11.1.5 HDFS
常用操作 309
11.2 ES-Hadoop
安装 310
11.2.1
压缩包下载 310
11.2.2 Maven
依赖 310
11.3
HDFSElasticsearch 311
11.3.1
测试数据 311
11.3.2
编写程序 312
11.3.3
代码分析 313
11.4
ElasticsearchHDFS 314
11.4.1
读取索引到HDFS 314
11.4.2
查询Elasticsearch写入HDFS 315
11.5
本章小结 316
参考文献 317

点赞

发表评论