第1章 初识Solr 1
1.1 Solr是什么 1
1.2 Solr的历史 2
1.3为什么要选择Solr 2
1.4 Solr功能预览 3
1.5 Solr下载 3
1.6 Solr学习资源 5
1.7 Windows平台下部署Solr 7
1.7.1部署Solr至Jetty 7
1.7.2部署Solr至Tomcat 13
1.8 Linux平台下部署Solr 16
1.9玩转post.jar 20
1.10在Eclipse中编译Solr源码 25
1.11本章总结 27
第2章 Solr基础 28
2.1Solr Core 28
2.1.1 Solr Core简介 28
2.1.2 Core的基本管理 30
2.1.3 Core Http接口 35
2.1.4添加索引至Core 36
2.2 Solr DIH 38
2.2.1索引文件夹下的文本文件 38
2.2.2索引JSON/XML/CS V文件 42
2.2.3使用Tika索引Word/Excel/PDF 45
2.2.4索引网络上的远程文件 52
2.2.5索引XML文件 55
2.2.6从数据库中导入数据至Solr 57
2.2.7 Solr DIH总结 62
2.3 Solr Full Import全量导入 78
2.4 Solr Delta-import增量导入 80
2.5 Solr索引 85
2.5.1 Lucene索引原理 85
2.5.2 Lucene中常见术语详解 87
2.5.3创建Solr索引 98
2.5.4 Solr Cell 99
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 solrconfig.xml配置详解 112
3.3 schema.xml配置详解 139
3.3.1 Solr Schema设计思想 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 Schema API 157
3.3.8 Schemaless Mode 165
3.4 data-config.xml配置详解 167
3.5 zoo.cfg配置详解 169
3.6本章总结 169
第4章 Solr分词 170
4.1分词的基本概念 170
4.1.1理解Analyzer 170
4.1.2理解Tokenizer 171
4.1.3理解TokenFilter 172
4.2 Solr分词器 172
4.2.1 Analyzer 173
4.2.2 Tokenizer 174
4.2.3 TokenFilter 182
4.2.4 CharFilter 202
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 FudanNLP 259
4.3.8 HanLP 262
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 Solr DisMax 288
5.7 Solr eDisMax 291
5.8 Solr的其他查询语法解析器 298
5.9 Query VS Filter Query 305
5.9.1 fq VS q 306
5.9.2 Filter Query缓存 307
5.9.3 Filter Query执行顺序 308
5.9.4 Post Filter 308
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章 Solr Facet 317
6.1理解Facet 317
6.2 Facet简单示例 319
6.3 Query Facet 326
6.4 Range Facet 328
6.5 FacetFilter 330
6.6 Multiselect Faceting 335
6.6.1 key 335
6.6.2 tag 336
6.7本章总结 339
第7章 Solr高亮 340
7.1什么是Solr高亮 340
7.2 Solr高亮的工作原理 342
7.2.1 Fragmenter 348
7.2.2 Scorer 349
7.2.3 Encoder&Formatter 349
7.3 Facet&Highlighting 350
7.4高亮多值域 351
7.5高亮参数 352
7.6 FastVectorHighlighter 355
7.7 PostingsHighlighter 356
7.8本章总结 358
第8章 Solr Query Suggestion查询建议 360
8.1 Spell-Check 361
8.1.1 Spell-Check简单示例 361
8.1.2 Spell-Check查询组件 362
8.2 Autosuggest 366
8.3基于N-Gram实现Autosuggest 369
8.4基于用户行为实现Autosuggest 371
8.5本章总结 375
第9章 Solr Group分组 376
9.1 Result grouping VS Field 377
collapsing 377
9.2按照指定域分组 377
9.3每个分组返回多个文档 381
9.4按照Function动态计算值分组 382
9.5按照任意Query分组 383
9.6 Group的分页与排序 383
9.7 Group& Facet 384
9.8 Group分布式查询 387
9.9 Group缓存 388
9.10使用Collapsing Query Parser实现高效的Field Collapsing 388
9.11 Solr Group VS SQL Group by 389
9.12本章总结 390
第10章 Solr企业级应用 391
10.1 Solr源码编译与补丁应用 391
10.2部署Solr 396
10.2.1构建你自己的Solr发布版本 397
10.2.2 Embedded Solr 397
10.3 Solr硬件要求与系统配置 397
10.3.1内存和SSD 397
10.3.2 JVM配置 398
10.3.3思考Solr索引与查询性能 401
10.4 Solr数据批量导入 405
10.5 Solr Shard与Replication 406
10.5.1 Shard 406
10.5.2 Replicate 408
10.6 Core管理 410
10.7 Solr集群管理 412
10.7.1 Solr Ping健康检测 412
10.7.2 Solr配置文件管理 413
10.8如何与Solr交互 414
10.8.1使用REST API与Solr交互 415
10.8.2使用SolrJ与Solr进行交互 415
10.9监控你的Solr 418
10.9.1 Solr的性能统计 418
10.9.2 Solr的缓存性能 419
10.9.3 Solr JMX 419
10.9.4 Solr日志 424
10.9.5 Solr负载测试 424
10.10 Solr版本升级 428
10.11本章总结 428