編輯推薦
本書采用淺顯易懂的語言加以適當的配圖為你詳細解讀Solr的每個技術點,讓其中涉及的每個原理、機製都不再晦澀難懂。理論結閤實踐纔能齣真知,案例驅動的方式貫穿本書始終,希望讀者能夠多上機實踐書中的每個示例,遵循“理解為主,實踐為輔”的學習原則,學以緻用並在自己所在公司企業內部部署Solr,充分施展Solr的威力,從而體現自己的個人價值。
內容簡介
本書作者是國內較早接觸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等大數據技術的結閤使用的集成方法。
作者簡介
蘭小偉(網名:益達) 資深Java工程師,在Java技術上有很深的積纍和造詣。國內較早接觸Solr的技術專傢之一,長期緻力於Solr的技術研究、實踐和生産環境部署,是Solr社區的積極參與者和實踐者,以讓Solr技術能夠在中國得到廣泛應用不遺餘力並樂此不疲。
現就職於國美金融,曾就職於各種大大小小的創業型公司。個人技術涉獵廣泛,除瞭Java之外,對JQuery、ExtJS、AngularJS等前端技術也有研究。
目錄
Contents?目 錄
序言
第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
Solr權威指南:上捲 下載 mobi epub pdf txt 電子書