Elasticsearch實戰(zhàn)與原理解析
定 價:109 元
- 作者:牛冬
- 出版時間:2020/3/1
- ISBN:9787121383809
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP391.3
- 頁碼:424
- 紙張:
- 版次:01
- 開本:16開
本書基于Elasticsearch 7.X版本編寫,內容由淺入深,先教會初學者使用,再介紹背后的原理。本書共分為三大部分,分別是Elasticsearch前傳、Elasticsearch實戰(zhàn)、Elasticsearch生態(tài)。Elasticsearch前傳部分主要介紹搜索技術發(fā)展史和基本知識,并介紹搜索引擎技術原理,為讀者構建搜索引擎全景。Elasticsearch實戰(zhàn)部分主要介紹Elasticsearch的核心概念和架構設計,并重點介紹客戶、文檔、搜索和索引等實戰(zhàn)內容,待讀者能上手實戰(zhàn)后,再介紹這些內容的背后實現(xiàn)原理和關聯(lián)知識,為讀者構建知識網(wǎng)絡。Elasticsearch生態(tài)部分主要介紹插件的使用和管理,以及Elastic Stack生態(tài)圈。本書適合有一定基礎知識的初、中級Elasticsearch學習者閱讀。
牛冬,中科院軟件研究所碩士畢業(yè),先后就職于人人網(wǎng)、先鋒金融集團、阿里巴巴,現(xiàn)任職于好未來教育科技集團。
第一部分 Elasticsearch 前傳
第1 章 搜索技術發(fā)展史 2
1.1 正說搜索技術發(fā)展史 2
1.2 Elasticsearch 簡介 . 5
1.3 Lucene 簡介 . 5
1.4 知識點關聯(lián) . 7
1.5 小結 . 15
第2 章 搜索技術基本知識 16
2.1 數(shù)據(jù)搜索方式 . 16
2.2 搜索引擎工作原理 17
2.3 網(wǎng)絡爬蟲工作原理 18
2.4 網(wǎng)頁分析 . 20
2.5 倒排索引 . 23
2.6 結果排序 . 26
2.7 中文分詞實戰(zhàn) . 27
2.7.1 Ansj 中文分詞 . 27
2.7.2 Jcseg 輕量級 Java 中文分詞器 . 30
2.8 知識點關聯(lián) . 38
2.9 小結 . 39
第二部分 Elasticsearch 實戰(zhàn)
第3 章 初識Elasticsearch 42
3.1 Elasticsearch 簡介 . 42
3.2 Elasticsearch 的安裝與配置 43
3.2.1 安裝Java 環(huán)境 . 43
3.2.2 Elasticsearch 的安裝 47
3.2.3 Elasticsearch 的配置 52
3.3 Elasticsearch 的核心概念 . 60
3.4 Elasticsearch 的架構設計 . 62
3.4.1 Elasticsearch 的節(jié)點自動發(fā)現(xiàn)機制 64
3.4.2 節(jié)點類型 66
3.4.3 分片和路由 66
3.4.4 數(shù)據(jù)寫入過程 67
3.5 知識點關聯(lián) . 70
3.6 小結 . 75
第4 章 初級客戶端實戰(zhàn) 76
4.1 初級客戶端初始化 76
4.2 提交請求 . 83
4.3 對請求結果的解析 89
4.4 常見通用設置 . 91
4.5 高級客戶端初始化 95
4.6 創(chuàng)建請求對象模式 98
4.7 知識點關聯(lián) . 98
4.8 小結 . 100
第5 章 高級客戶端文檔實戰(zhàn)一 . 101
5.1 文檔 . 102
5.2 文檔索引 . 103
5.3 文檔索引查詢 . 114
5.4 文檔存在性校驗 . 118
5.5 刪除文檔索引 . 121
5.6 更新文檔索引 . 125
5.7 獲取文檔索引的詞向量 131
5.8 文檔處理過程解析 138
5.8.1 文檔的索引過程 138
5.8.2 文檔在文件系統(tǒng)中的處理過程 140
5.9 知識點關聯(lián) . 145
5.10 小結 . 146
第6 章 高級客戶端文檔實戰(zhàn)二 . 147
6.1 批量請求 . 148
6.2 批量處理器 . 154
6.3 MultiGet 批量處理實戰(zhàn) 158
6.4 文檔ReIndex 實戰(zhàn) 164
6.5 文檔查詢時更新實戰(zhàn) 171
6.6 文檔查詢時刪除實戰(zhàn) 176
6.7 獲取文檔索引的多詞向量 180
6.8 文檔處理過程解析 185
6.8.1 Elasticsearch 文檔分片存儲 185
6.8.2 Elasticsearch 的數(shù)據(jù)分區(qū) 187
6.9 知識點關聯(lián) . 188
6.10 小結 . 189
第7 章 搜索實戰(zhàn) . 190
7.1 搜索API 191
7.2 滾動搜索 . 208
7.3 批量搜索 . 220
7.4 跨索引字段搜索 . 228
7.5 搜索結果的排序評估 235
7.6 搜索結果解釋 . 243
7.7 統(tǒng)計 . 251
7.8 搜索過程解析 . 258
7.8.1 對已知文檔的搜索 258
7.8.2 對未知文檔的搜索 259
7.8.3 對詞條的搜索 260
7.9 知識點關聯(lián) . 262
7.10 小結 . 262
第8 章 索引實戰(zhàn) . 263
8.1 字段索引分析 . 264
8.2 創(chuàng)建索引 . 271
8.3 獲取索引 . 277
8.4 刪除索引 . 282
8.5 索引存在驗證 . 285
8.6 打開索引 . 289
8.7 關閉索引 . 292
8.8 縮小索引 . 296
8.9 拆分索引 . 299
8.10 刷新索引 . 303
8.11 Flush 刷新 306
8.12 同步Flush 刷新 . 310
8.13 清除索引緩存 . 314
8.14 強制合并索引 . 317
8.15 滾動索引 . 322
8.16 索引別名 . 326
8.17 索引別名存在校驗 330
8.18 獲取索引別名 . 333
8.19 索引原理解析 . 337
8.19.1 近實時搜索的實現(xiàn) 337
8.19.2 倒排索引的壓縮 337
8.20 知識點關聯(lián) . 338
8.21 小結 . 339
第三部分 Elasticsearch 生態(tài)
第9 章 Elasticsearch 插件 342
9.1 插件簡介 . 342
9.2 插件管理 . 343
9.3 分析插件 . 346
9.3.1 分析插件簡介 346
9.3.2 Elasticsearch 中的分析插件 347
9.3.3 ICU 分析插件 349
9.3.4 智能中文分析插件 360
9.4 API 擴展插件 367
9.5 監(jiān)控插件 . 368
9.6 數(shù)據(jù)提取插件 . 368
9.7 常用插件實戰(zhàn) . 369
9.7.1 Head 插件 369
9.7.2 Cerebro 插件 385
9.8 知識點關聯(lián) . 393
9.9 小結 . 394
第10 章 Elasticsearch 生態(tài)圈 395
10.1 ELK 395
10.1.1 Elastic Stack . 395
10.1.2 Elastic Stack 版本的由來 396
10.1.3 ELK 實戰(zhàn)的背景 . 397
10.1.4 ELK 的部署架構變遷 . 397
10.2 Logstash . 400
10.2.1 Logstash 簡介 400
10.2.2 Logstash 的輸入模塊 402
10.2.3 Logstash 過濾器 403
10.2.4 Logstash 的輸出模塊 404
10.3 Kibana 405
10.3.1 Kibana 簡介 . 405
10.3.2 連接Elasticsearch 406
10.4 Beats 410
10.4.1 Beats 簡介 410
10.4.2 Beats 輕量級設計的實現(xiàn) 412
10.4.3 Beats 的架構 412
10.5 知識點關聯(lián) . 413
10.6 小結 . 414