编辑推荐
《Solr权威指南:上卷》采用浅显易懂的语言加以适当的配图为你详细解读Solr的每个技术点,让其中涉及的每个原理、机制都不再晦涩难懂。理论结合实践才能出真知,案例驱动的方式贯穿《Solr权威指南:上卷》始终,希望读者能够多上机实践书中的每个示例,遵循“理解为主,实践为辅”的学习原则,学以致用并在自己所在公司企业内部部署Solr,充分施展Solr的威力,从而体现自己的个人价值。
内容简介
《Solr权威指南:上卷》作者是国内较早接触Solr的技术专家之一,多年一直在Solr的研究、实践和布道的路上不遗余力、乐此不彼。《Solr权威指南:上卷》立足全球视野,综合Solr技术的发展和应用、从业人员的学习曲线,以及中英文资料的供给情况,给自己设定了一个极高的目标:力争在内容的全面性、系统性、深浅度和实战性上概括所有的同类书。从完成的结果上来看,我们的目标接近完成,Solr的基础知识、核心技术、进阶知识和扩展知识悉数包括在内。
《Solr权威指南:上卷》一共16章,分为上下两卷:
上卷(第1~10章)
全面、系统地讲解了Solr的基础知识和核心技术。包括部署、配置、SolrCore、SolrDIH、全量导入、增量导入、索引、中文分词、查询组件、SolrFacet、高亮、查询建议,以及企业如何在真实的项目中使用Solr。不仅讲解了基本概念和使用方法,而且还分析了各组件的内部工作机制。
下卷(第11~16章)
细致、深入地讲解了Solr的高级知识和拓展知识。
高级知识部分包括:Solr的高级查询及其各种查询技巧,如函数查询、地理空间查询、Facet嵌套等;SolrJ、SolrCloud、SpringDataSolr的使用详解和工作原理;Solr的多种性能优化技巧,如索引的性能优化、缓存的性能优化、查询的性能优化、JVM和Web容器的优化,以及操作系统级别的优化。
拓展知识中首先讲解了Solr的一些比较生僻的知识点,如伪域、多语种索引支持、安全认证,以及Solr6.x中的SQL接口和Streaming表达式等;然后讲解了Solr与MapReduce、HDFS、Hbase、Kafka、Flume、Storm、Spark等大数据技术的结合使用的集成方法。
作者简介
兰小伟(网名:益达) 资深Java工程师,在Java技术上有很深的积累和造诣。国内较早接触Solr的技术专家之一,长期致力于Solr的技术研究、实践和生产环境部署,是Solr社区的积极参与者和实践者,以让Solr技术能够在中国得到广泛应用不遗余力并乐此不疲。
现就职于国美金融,曾就职于各种大大小小的创业型公司。个人技术涉猎广泛,除了Java之外,对JQuery、ExtJS、AngularJS等前端技术也有研究。
目录
Contents?目 录
序言
第1章 初识Solr1
1.1 Solr是什么1
1.2 Solr的历史2
1.3 为什么要选择Solr2
1.4 Solr功能预览3
1.5 Solr下载3
1.6 Solr学习资源5
1.7 Windows平台下部署Solr7
1.7.1 部署Solr至Jetty7
1.7.2 部署Solr至Tomcat13
1.8 Linux平台下部署Solr16
1.9 玩转post.jar20
1.10 在Eclipse中编译Solr源码25
1.11 本章总结27
第2章 Solr基础28
2.1 SolrCore28
2.1.1 SolrCore简介28
2.1.2 Core的基本管理30
2.1.3 CoreHttp接口35
2.1.4 添加索引至Core36
2.2 SolrDIH38
2.2.1 索引文件夹下的文本文件38
2.2.2 索引JSON/XML/CSV文件42
2.2.3 使用Tika索引Word/Excel/PDF45
2.2.4 索引网络上的远程文件52
2.2.5 索引XML文件55
2.2.6 从数据库中导入数据至Solr57
2.2.7 SolrDIH总结62
2.3 SolrFullImport全量导入78
2.4 SolrDelta-import增量导入80
2.5 Solr索引85
2.5.1 Lucene索引原理85
2.5.2 Lucene中常见术语详解87
2.5.3 创建Solr索引98
2.5.4 SolrCell99
2.5.5 Solr索引去重检测102
2.5.6 Solr更新请求处理链104
2.5.7 Solr原子更新105
2.5.8 使用Luke查看索引107
2.6 本章总结109
第3章 Solr配置110
3.1 solr.xml配置详解110
3.2 solrconf?ig.xml配置详解112
3.3 schema.xml配置详解139
3.3.1 SolrSchema设计思想139
3.3.2 Solr眼里的世界139
3.3.3 域分词140
3.3.4 Solr的schema文件140
3.3.5 Solr的域类型141
3.3.6 Solr的域153
3.3.7 SchemaAPI157
3.3.8 SchemalessMode165
3.4 data-conf?ig.xml配置详解167
3.5 zoo.cfg配置详解169
3.6 本章总结169
第4章 Solr分词170
4.1 分词的基本概念170
4.1.1 理解Analyzer170
4.1.2 理解Tokenizer171
4.1.3 理解TokenFilter172
4.2 Solr分词器172
4.2.1 Analyzer173
4.2.2 Tokenizer174
4.2.3 TokenFilter182
4.2.4 CharFilter202
4.2.5 Solr自定义分词206
4.3 中文分词器217
4.3.1 IK分词器217
4.3.2 Ansj分词器223
4.3.3 MMSeg4J分词器233
4.3.4 Paoding分词器240
4.3.5 Jcseg分词器245
4.3.6 Ictclas分词器258
4.3.7 FudanNLP259
4.3.8 HanLP262
4.3.9 Jieba分词器266
4.3.10 分词器使用建议268
4.4 本章总结270
第5章 Solr查询271
5.1 Solr查询概述271
5.2 Solr查询相关度简述273
5.3 Solr的查询语法解析器275
5.4 Lucene的基本查询语法283
5.5 Solr的标准查询语法解析器287
5.6 SolrDisMax288
5.7 SolreDisMax291
5.8 Solr的其他查询语法解析器298
5.9 QueryVSFilterQuery305
5.9.1 fqVSq306
5.9.2 FilterQuery缓存307
5.9.3 FilterQuery执行顺序308
5.9.4 PostFilter308
5.10 Solr返回结果309
5.10.1 设置响应输出格式309
5.10.2 选择返回域310
5.10.3 分页查询312
5.11 Solr排序313
5.11.1 根据域进行排序313
5.11.2 缺失值处理314
5.11.3 排序的内存占用315
5.12 调试查询结果315
5.12.1 返回调试信息315
5.12.2 开启调试模式316
5.13 本章总结316
第6章 SolrFacet317
6.1 理解Facet317
6.2 Facet简单示例319
6.3 QueryFacet326
6.4 RangeFacet328
6.5 FacetFilter330
6.6 MultiselectFaceting335
6.6.1 key335
6.6.2 tag336
6.7 本章总结339
第7章 Solr高亮340
7.1 什么是Solr高亮340
7.2 Solr高亮的工作原理342
7.2.1 Fragmenter348
7.2.2 Scorer349
7.2.3 Encoder&Formatter349
7.3 Facet&Highlighting350
7.4 高亮多值域351
7.5 高亮参数352
7.6 FastVectorHighlighter355
7.7 PostingsHighlighter356
7.8 本章总结358
第8章 SolrQuerySuggestion查询建议360
8.1 Spell-Check361
8.1.1 Spell-Check简单示例361
8.1.2 Spell-Check查询组件362
8.2 Autosuggest366
8.3 基于N-Gram实现Autosuggest369
8.4 基于用户行为实现Autosuggest371
8.5 本章总结375
第9章 SolrGroup分组376
9.1 ResultgroupingVSFieldcollapsing377
9.2 按照指定域分组377
9.3 每个分组返回多个文档381
9.4 按照Function动态计算值分组382
9.5 按照任意Query分组383
9.6 Group的分页与排序383
9.7 Group&Facet384
9.8 Group分布式查询387
9.9 Group缓存388
9.10 使用CollapsingQueryParser实现高效的FieldCollapsing388
9.11 SolrGroupVSSQLGroupby389
9.12 本章总结390
第10章 Solr企业级应用391
10.1 Solr源码编译与补丁应用391
10.2 部署Solr396
10.2.1 构建你自己的Solr发布版本397
10.2.2 EmbeddedSolr397
10.3 Solr硬件要求与系统配置397
10.3.1 内存和SSD397
10.3.2 JVM配置398
10.3.3 思考Solr索引与查询性能401
10.4 Solr数据批量导入405
10.5 SolrShard与Replication406
10.5.1 Shard406
10.5.2 Replicate408
10.6 Core管理410
10.7 Solr集群管理412
10.7.1 SolrPing健康检测412
10.7.2 Solr配置文件管理413
10.8 如何与Solr交互414
10.8.1 使用RESTAPI与Solr交互415
10.8.2 使用SolrJ与Solr进行交互415
10.9 监控你的Solr418
10.9.1 Solr的性能统计418
10.9.2 Solr的缓存性能419
10.9.3 SolrJMX419
10.9.4 Solr日志424
10.9.5 Solr负载测试424
10.10 Solr版本升级428
10.11 本章总结428