《Solr權威指南:上卷》是2017年12月機械工業出版社出版的圖書,作者是蘭小偉。本書採用淺顯易懂的語言加以適當的配圖為你詳細解讀Solr的每個技術點,讓其中涉及的每個原理、機制都不再晦澀難懂。
基本介紹
- 中文名:Solr權威指南:上卷
- 作者:蘭小偉
- 出版社:機械工業出版社
- ISBN:9787111581727
內容簡介,圖書目錄,作者簡介,
內容簡介
本書作者是國內較早接觸Solr的技術專家之一,多年一直在Solr的研究、實踐和布道的路上不遺餘力、樂此不彼。本書立足全球視野,綜合Solr技術的發展和套用、從業人員的學習曲線,以及中英文資料的供給情況,給自己設定了一個極高的目標:力爭在內容的全面性、系統性、深淺度和實戰性上概括所有的同類書。從完成的結果上來看,我們的目標接近完成,Solr的基礎知識、核心技術、進階知識和擴展知識悉數包括在內。
全書一共16章,分為上下兩卷:
上卷(第1~10章)
全面、系統地講解了Solr的基礎知識和核心技術。包括部署、配置、Solr Core、Solr DIH、全量導入、增量導入、索引、中文分詞、查詢組件、Solr Facet、高亮、查詢建議,以及企業如何在真實的項目中使用Solr。不僅講解了基本概念和使用方法,而且還分析了各組件的內部工作機制。
下卷(第11~16章)
細緻、深入地講解了Solr的高級知識和拓展知識。
高級知識部分包括:Solr的高級查詢及其各種查詢技巧,如函式查詢、地理空間查詢、Facet嵌套等;SolrJ、SolrCloud、Spring Data Solr的使用詳解和工作原理;Solr的多種性能最佳化技巧,如索引的性能最佳化、快取的性能最佳化、查詢的性能最佳化、JVM和Web容器的最佳化,以及作業系統級別的最佳化。
拓展知識中首先講解了Solr的一些比較生僻的知識點,如偽域、多語種索引支持、安全認證,以及Solr 6.x中的SQL接口和Streaming表達式等;然後講解了Solr與MapReduce、HDFS、Hbase、Kafka、Flume、Storm、Spark等大數據技術的結合使用的集成方法。
圖書目錄
序言
第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.1 Solr 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/CSV檔案 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 solrconf?ig.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-conf?ig.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 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
作者簡介
蘭小偉(網名:益達) 資深Java工程師,在Java技術上有很深的積累和造詣。國內較早接觸Solr的技術專家之一,長期致力於Solr的技術研究、實踐和生產環境部署,是Solr社區的積極參與者和實踐者,以讓Solr技術能夠在中國得到廣泛套用不遺餘力並樂此不疲。
現就職於國美金融,曾就職於各種大大小小的創業型公司。個人技術涉獵廣泛,除了Java之外,對JQuery、ExtJS、AngularJS等前端技術也有研究。