内容简介
本书介绍了分布式搜索引擎开发的原理与Java实现,主括全文检索的原理与实现、分布式算法与代码实现、SolrCloud和ElasticSearch的使用与原理等内容,并着重介绍了一种实现分布式中文搜索引擎的方法。 本书适合有Java程序设计基础的开发人员或者对分布式搜索引擎技术感兴趣的从业人员使用
目录
目;;; 录
第1章; 搜索引擎.... 1
1.1; 搜索引擎基本模块... 2
1.2; 开发环境... 3
1.3; 搜索引擎工作原理... 4
1.3.1; 网络爬虫... 5
1.3.2; 全文索引... 5
1.3.3 ;搜索用户界面... 8
1.3.4; 分布式计算... 9
1.3.5 ;文本挖掘... 9
1.4; 算法基础... 9
1.4.1; 折半查找... 10
1.4.2; 排序... 10
1.4.3; 成树... 12
1.5; 软件工具... 15
1.6; 单元测试... 15
1.7; 本章小结... 17
1.8; 术语表... 18
第2章; 自己动手写全文检索.... 19
2.1; 构建索引... 22
2.2; 生成索引文件... 23
2.3; 读入索引文件... 25
2.4; 查询... 26
2.5; 有限状态机... 29
2.5.1; 运算... 29
2.5.2; 编辑距离有限状态机... 30
2.6; 本章小结... 32
第3章; Lucene的原理与应用.... 33
3.1; Lucene快速入门... 34
3.1.1; 创建索引... 34
3.1.2; 查询索引库... 35
3.1.3; 创建文档索引... 36
3.1.4; 查询文档索引... 36
3.2; 创建和维护索引库... 37
3.2.1; 设计索引库结构... 37
3.2.2; 创建索引库... 38
3.2.3; 向索引库中添加索引文档... 40
3.2.4; 删除索引库中的索引文档... 43
3.2.5; 更新索引库中的索引文档... 44
3.2.6; 关闭索引库... 45
3.2.7; 索引的优化与合并... 45
3.2.8; 灵活索引... 46
3.2.9; 索引文件格式... 47
3.2.10; 定制索引存储结构... 49
3.2.11; 写索引集成到爬虫... 54
3.2.12; 多线程写索引... 56
3.2.13; 分发索引... 58
3.2.14; 修复索引... 61
3.3; 查找索引库... 61
3.3.1; 查询过程... 61
3.3.2; 常用查询... 64
3.3.3; 基本词查询... 65
3.3.4; 模糊匹配... 65
3.3.5; 布尔查询... 67
3.3.6; 短语查询... 69
3.3.7; 跨度查询... 71
3.3.8; FieldQuery. 74
3.3.9; 排序... 77
3.3.10; 使用Filter筛选搜索结果... 81
3.3.11; 使用Collector筛选搜索
;结果... 82
3.3.12; 遍历索引库... 85
3.3.13; 关键词高亮显示... 88
3.3.14; 列合并... 91
3.3.15; 关联内容(BlockJoinQuery) 92
3.3.16; 查询大容量索引... 94
3.4; 读写并发... 95
3.5; Lucene深入介绍... 95
3.5.1; 整体结构... 96
3.5.2; 索引原理... 97
3.5.3; 文档值... 100
3.5.4; FST. 102
3.6; 查询语法与解析... 102
3.6.1; JavaCC.. 104
3.6.2; 生成一个查询解析器... 114
3.6.3; 简单的查询解析器... 114
3.6.4; 灵活的查询解析器... 114
3.7; 检索模型... 119
3.7.1; 向量空间模型... 121
3.7.2; DFR.. 125
3.7.3; BM25概率模型... 130
3.7.4; BM25F概率模型... 136
3.7.5; 统计语言模型... 138
3.7.6; 相关反馈... 140
3.7.7; 隐含语义索引... 140
3.7.8; 学... 141
3.7.9; 查询与相关度... 142
3.7.10; 使用Payload调整相关... 142
3.8; 查询原理... 146
3.8.1; 布尔匹配... 147
3.8.2; 短语查询... 150
3.8.3; 索引统计... 150
3.8.4; 相关... 152
3.9; 分析文本... 155
3.9.1; Analyzer 156
3.9.2; TokenStream.. 162
3.9.3; 定制Tokenizer 164
3.9.4; 重用Tokenizer 166
3.9.5; 有限状态转换... 167
3.9.6; 索引数值列... 168
3.9.7; 检索结果排序... 171
3.9.8; 处理价格... 171
3.10; Lucene中的压缩算法... 172
3.10.1; 变长压缩... 172
3.10.2; Gamma. 174
3.10.3; PForDelta. 176
3.10.4; VSEncoding. 178
3.10.5; 前缀压缩... 179
3.10.6; 差分编码... 180
3.10.7; 静态索引裁剪... 182
3.11; 搜索中文... 182
3.11.1; Lucene切分原理... 185
3.11.2; Lucene中的Analyzer 186
3.11.3; 自己写Analyzer 188
3.11.4; Lietu中文分词... 191
3.11.5; 字词混合索引... 191
3.12; 搜索英文... 196
3.12.1; 英文分词... 196
3.12.2; 词标注... 199
3.12.3; 原型化... 201
3.13; 索引数据库中的文本... 202
3.14; 优化使用Lucene. 204
3.14.1; 系统优化... 204
3.14.2; 查询优化... 205
3.14.3; 实现时间加权排序... 207
3.14.4; 词标注... 210
3.14.5; 个化搜索... 213
3.15; 实时搜索... 213
3.16; 语义搜索... 215
3.16.1; 发现同义词... 215
3.16.2; 垂直领域同义词... 219
3.16.3; 同义词扩展... 219
3.16.4; 语义标注... 225
3.17; 本章小结... 225
3.18; 术语表... 226
第4章; 搜索引擎用户界面.... 227
4.1; 实现Lucene搜索... 228
4.1.1; 测试搜能... 228
4.1.2; 加载索引... 229
4.2; 搜索页面设计... 231
4.2.1; Struts2实现的搜索界面... 232
4.2.2; 用于显示搜索结果的
Taglib. 234
4.2.3; 实现翻页... 235
4.3; 实现搜索接口... 238
4.3.1; 编码识别... 238
4.3.2; 布尔搜索... 241
4.3.3; 指定范围搜索... 241
4.3.4; 搜索结果排序... 242
4.3.5; 索引缓存与更新... 243
4.4; 实现分类统计视图... 249
4.4.1; 单值列分类统计... 255
4.4.2; 侧钻... 256
4.5; 实现相似文档搜索... 257
4.6; 实现AJAX搜索联想词... 259
4.6.1; 估计查询词的文档频率... 259
4.6.2; 搜索联想体结构... 259
4.6.3; 服务器端处理... 260
4.6.4; 浏览器端处理... 265
4.6.5; 拼音提示... 267
4.6.6; 部结... 267
4.7; 搜索词... 268
4.7.1; 挖掘相关搜索词... 268
4.7.2; 使用多线程计算相关
搜索词... 270
4.8; 查询意图理解... 271
4.8.1; 拼音搜索... 271
4.8.2; 无结果处理... 272
4.9; 集成其能... 272
4.9.1; 拼写检查... 272
4.9.2; 分类统计... 276
4.9.3; 相关搜索... 281
4.9.4; 再次查找... 284
4.9.5; 搜索日志... 284
4.10; 查询分析... 286
4.10.1; 历史搜索词记录... 286
4.10.2; 日志信息过滤... 286
4.10.3; 信息统计... 287
4.10.4; 挖掘日志信息... 289
4.10.5; 查询词意图分析... 290
4.11; 部署网站... 290
4.11.1; 部署到Web服务器... 290
4.11.2; 防止攻击... 292
4.12; 手机搜索界面... 295
4.13; 本章小结... 296
第5章; Solr分布式搜索引擎.... 297
5.1; Solr简介... 298
5.2; Solr基本用法... 299
5.2.1; Solr服务器端的配置与中文
支持... 300
5.2.2; 数据类型... 304
5.2.3; 解析器... 306
5.2.4; 把数据Solr 307
5.2.5; 删除数据... 312
5.2.6; 查询语法... 313
5.3; 使用SolrJ. 313
5.3.1; Solr客户端与搜索界面... 313
5.3.2; Solr索引库的查找... 315
5.3.3; 分类统计... 317
5.3.4; 高亮... 319
5.3.5; 同义词... 322
5.3.6; 嵌入式Solr 322
5.3.7; Spring实现的搜索界面... 323
5.3.8; 索引分发... 331
5.3.9; Solr搜索优化... 333
5.4; 从FAST Search移植到Solr 336
5.5; Solr扩展与定制... 337
5.5.1; 缺省查询... 337
5.5.2; 插件... 338
5.5.3; Solr中字词混合索引... 338
5.5.4; 相关检索... 340
5.5.5; 搜索结果去重... 341
5.5.6; 定制输入输出... 344
5.5.7; 聚类... 348
5.5.8; 分布式搜索... 348
5.5.9; 分布式索引... 352
5.5.10; SolrJ查询分析器... 353
5.5.11; 扩展SolrJ. 360
5.5.12; 扩展Solr 361
5.5.13; 日文搜索... 364
5.5.14; 查询Web图... 365
5.6; SolrNet 367
5.6.1; 使用SolrNet实现全文搜索... 367
5.6.2; 实现原理... 370
5.6.3; 扩展SolrNet 371
5.7; Solr的PHP客户端... 373
5.8; Solr的其他客户端... 376
5.9; 为网站增加搜能... 376
5.10; SolrCloud. 377
5.10.1; Zab协议... 377
5.10.2; ZooKeeper 377
5.10.3; 使用SolrCloud. 379
5.10.4; SQL查询... 380
5.11; Solr原理... 381
5.11.1; 支持Solr的中文分词... 381
5.11.2; 缓存技术... 383
5.12; 本章小结... 384
第6章; ElasticSearch分布式搜索
引擎.... 387
6.1; 安装... 389
6.2; 搜索集群... 390
6.2.1; Zen发现机制... 390
6.2.2; JGroups. 391
6.3; 创建索引... 393
6.4; Java客户端接口... 396
6.4.1; 创建索引... 398
6.4.2; 插入数据... 398
6.4.3 ;索引库结构... 400
6.5; 查询... 401
6.6; 高亮显示... 405
6.7; 分页... 406
6.8; 中文搜索... 407
6.8.1; 中文AnalyzerProvider 407
6.8.2; 字词混合索引... 409
6.9; 分组统计... 412
6.10; 与爬虫集成... 413
6.11; Percolate. 413
6.12; 权限... 414
6.13; SQL支持... 415
6.14; 本章小结... 419
;
;
品相说明:本书为八品,书脊轻微磨损,内页整洁无涂画,无缺页少页,具体以实物照片为准。
品相标准:十品为全新未翻阅;九品近全新有轻微痕迹;八品有明显使用痕迹但内容完整;七品及以下为有破损或缺页,页面会有详细说明。
瑕疵说明:拍品图片均为实物拍摄,因显示设备差异可能存在轻微色差,以收到实物为准。
交易方式:本站采用担保交易,买家付款后资金由平台托管,确认收货无误后放款给卖家。
配送说明:下单后 48 小时内发货,默认快递发货,满 99 元包邮,多件订单可合并运费。
议价规则:标注「价格面议」的商品可通过站内消息与卖家议价,达成一致后改价下单。
七天无理由退换:收到商品七日内,若与描述不符可申请退换,运费由责任方承担。
纠纷处理:如发生交易纠纷,可提交平台介入处理,客服 09:00-18:00 在线受理。
正品保障:平台对古籍、签名本等贵重商品提供鉴定咨询服务,发现赝品全额退款。