關(guān)于我們
書單推薦
新書推薦
|
Elasticsearch數(shù)據(jù)搜索與分析實戰(zhàn)
本書從Elasticsearch的功能和業(yè)務(wù)場景開始介紹,逐步深入講解Elasticsearch在數(shù)據(jù)搜索和數(shù)據(jù)分析領(lǐng)域的實戰(zhàn)應(yīng)用,并詳細介紹Elasticsearch的Java高級客戶端編程方法和整個Elastic Stack技術(shù)生態(tài)體系。
本書共12章,第1章講述Elasticsearch的業(yè)務(wù)場景和安裝配置;第2章講述Elasticsearch內(nèi)部實現(xiàn)的各種原理;第3章講述Elasticsearch索引的使用方法;第4章講述文本分析的過程和文本分析器的使用;第5章講述Elasticsearch支持的各種搜索方式;第6章講述使用聚集統(tǒng)計進行數(shù)據(jù)分析的方法;第7章講述索引之間存在父子關(guān)系時的解決方法;第8章講述Elasticsearch的Java高級客戶端編程方法;第9章講述Elasticsearch集群的搭建、優(yōu)化、備份方法;第10~12章講述Elastic Stack各組件的配合使用。 本書內(nèi)容通俗易懂,易于學(xué)習(xí),既講理論原理又側(cè)重介紹開發(fā)實戰(zhàn),很適合Java后端開發(fā)工程師、大數(shù)據(jù)開發(fā)工程師、Elasticsearch技術(shù)講師和學(xué)員及搜索引擎技術(shù)的愛好者閱讀。另外,本書也可以作為培訓(xùn)機構(gòu)的教材,用來指導(dǎo)Elasticsearch新手的入門學(xué)習(xí)。
● 系統(tǒng) 全方位講解Elastic Stack 技術(shù)棧,涵蓋其所有熱門技術(shù)點
● 深入 凝聚作者多年后端開發(fā)經(jīng)驗,以工匠精神打造技術(shù)精品 ● 實用 結(jié)合實際場景講解上百個實例,并附贈可直接使用的項目實例源碼
武漢大學(xué)計算機碩士,長期專注于Java后端開發(fā),擅長領(lǐng)域為微服務(wù)、全文檢索和大數(shù)據(jù)分析。目前供職于中國科學(xué)院下某研究所擔任高級研發(fā)工程師,長期在一線擔任開發(fā)職位,項目經(jīng)驗豐富,熱衷于開源事業(yè),樂于做技術(shù)分享和交流。
原理篇
第 1章 快速入門 03 1 1 Elasticsearch簡介 03 1 2 Elasticsearch的典型接入方式 04 1 2 1 將Elasticsearch作為數(shù)據(jù)源 04 1 2 2 給已有系統(tǒng)添加Elasticsearch 05 1 2 3 使用Elastic Stack 05 1 3 專有名詞解釋 06 1 4 安裝Elasticsearch 7 9 1 08 1 5 安裝Kibana調(diào)試Elasticsearch 09 1 6 Elasticsearch節(jié)點的重要配置 11 1 6 1 集群節(jié)點的配置方法和優(yōu)先級 12 1 6 2 elasticsearch yml的重要配置 13 1 6 3 配置JVM的堆內(nèi)存大小 15 1 7 本章小結(jié) 16 第 2章 深入原理 17 2 1 搜索引擎的基本原理 17 2 2 Elasticsearch集群的形成機制 19 2 2 1 集群節(jié)點的發(fā)現(xiàn)、選舉和引導(dǎo)過程 20 2 2 2 集群狀態(tài)的發(fā)布過程 20 2 3 索引分片的分配機制 21 2 3 1 分片的分配 21 2 3 2 分片分配的過程 22 2 3 3 分片分配的感知 25 2 3 4 分片分配的過濾 27 2 4 索引分片的恢復(fù)機制 28 2 4 1 分片的恢復(fù) 29 2 4 2 分片恢復(fù)的過程 29 2 4 3 減少不必要的分片恢復(fù) 32 2 5 索引數(shù)據(jù)的寫入過程 33 2 6 索引數(shù)據(jù)的搜索過程 35 2 7 本章小結(jié) 36 應(yīng)用篇 第3章 索引數(shù)據(jù) 41 3 1 使用映射定義索引結(jié)構(gòu) 41 3 1 1 映射的概念和使用 41 3 1 2 映射支持的常規(guī)字段類型 43 3 1 3 忽略映射中不合法的數(shù)據(jù) 48 3 1 4 字段復(fù)制和字段存儲 51 3 1 5 動態(tài)映射 54 3 2 索引中數(shù)據(jù)的增刪改查 60 3 2 1 使用REST端點對索引映射中的數(shù)據(jù)進行增刪改查 61 3 2 2 使用樂觀鎖進行并發(fā)控制 63 3 2 3 索引數(shù)據(jù)的批量寫入 65 3 3 索引數(shù)據(jù)的路由規(guī)則 68 3 3 1 索引數(shù)據(jù)路由的原理 69 3 3 2 使用自定義路由分發(fā)數(shù)據(jù) 69 3 4 索引的別名 73 3 4 1 別名的創(chuàng)建和刪除 73 3 4 2 別名配合數(shù)據(jù)過濾 74 3 4 3 別名配合數(shù)據(jù)路由 76 3 5 滾動索引 77 3 6 索引的狀態(tài)管理 80 3 6 1 清空緩存 80 3 6 2 刷新索引 81 3 6 3 沖洗索引 81 3 6 4 強制合并 82 3 6 5 關(guān)閉索引 82 3 6 6 凍結(jié)索引 83 3 7 索引的塊 83 3 8 索引模板 84 3 8 1 使用索引模板定制索引結(jié)構(gòu) 84 3 8 2 使用模板組件簡化模板配置 88 3 9 索引的監(jiān)控 90 3 9 1 監(jiān)控索引的健康狀態(tài) 90 3 9 2 監(jiān)控索引分片的段數(shù)據(jù) 91 3 9 3 監(jiān)控索引分片的分配 93 3 9 4 監(jiān)控索引分片的恢復(fù) 93 3 9 5 監(jiān)控索引的統(tǒng)計指標 95 3 10 控制索引分片的分配 97 3 11 本章小結(jié) 98 第4章 文本分析 99 4 1 文本分析的原理 99 4 2 使用內(nèi)置的分析器分析文本 100 4 2 1 標準分析器 100 4 2 2 簡單分析器 105 4 2 3 空格分析器 106 4 3 使用IK分詞器分析文本 108 4 3 1 安裝IK分詞器 108 4 3 2 在索引中使用IK分詞器 108 4 4 自定義文本分析器分析文本 112 4 4 1 字符過濾器 112 4 4 2 分詞器 115 4 4 3 分詞過濾器 119 4 4 4 給索引添加自定義分析器 124 4 5 查看文檔的詞條向量 127 4 6 keyword類型字段的標準化 131 4 7 本章小結(jié) 134 第5章 搜索數(shù)據(jù) 135 5 1 精準級查詢 136 5 1 1 術(shù)語查詢 136 5 1 2 多術(shù)語查詢 137 5 1 3 主鍵查詢 139 5 1 4 范圍查詢 140 5 1 5 存在查詢 142 5 1 6 前綴查詢 143 5 1 7 正則查詢 145 5 1 8 通配符查詢 146 5 2 全文檢索 147 5 2 1 匹配搜索 148 5 2 2 布爾前綴匹配搜索 150 5 2 3 短語搜索 151 5 2 4 短語前綴匹配搜索 152 5 2 5 多字段匹配搜索 152 5 2 6 查詢字符串搜索 153 5 3 經(jīng)緯度搜索 156 5 3 1 圓形搜索 156 5 3 2 矩形搜索 158 5 3 3 多邊形搜索 160 5 4 復(fù)合搜索 161 5 4 1 布爾查詢 161 5 4 2 常量得分查詢 164 5 4 3 析取最大查詢 165 5 4 4 相關(guān)度增強查詢 166 5 5 搜索結(jié)果的總數(shù) 166 5 6 搜索結(jié)果的分頁 167 5 6 1 普通分頁 168 5 6 2 滾動分頁 168 5 6 3 Search after分頁 169 5 7 搜索結(jié)果的排序 171 5 8 篩選搜索結(jié)果返回的字段 172 5 9 高亮搜索結(jié)果中的關(guān)鍵詞 174 5 10 折疊搜索結(jié)果 175 5 11 解釋搜索結(jié)果 180 5 12 本章小結(jié) 181 第6章 聚集統(tǒng)計 183 6 1 度量聚集 183 6 1 1 平均值聚集 184 6 1 2 最大值和最小值聚集 185 6 1 3 求和聚集 186 6 1 4 統(tǒng)計聚集 186 6 1 5 基數(shù)聚集 187 6 1 6 百分比聚集 188 6 1 7 百分比等級聚集 190 6 1 8 頭部命中聚集 191 6 1 9 矩陣統(tǒng)計聚集 192 6 2 桶聚集 194 6 2 1 詞條聚集 194 6 2 2 范圍聚集 198 6 2 3 日期范圍聚集 200 6 2 4 直方圖聚集 202 6 2 5 日期直方圖聚集 204 6 2 6 缺失聚集 207 6 2 7 過濾器聚集 208 6 2 8 多過濾器聚集 209 6 3 管道聚集 210 6 3 1 平均桶聚集 211 6 3 2 求和桶聚集 212 6 3 3 最大桶和最小桶聚集 214 6 3 4 累計求和桶聚集 216 6 3 5 差值聚集 217 6 4 使用fielddata聚集text字段 219 6 5 使用全局有序編號加快聚集速度 221 6 6 給聚集請求添加后過濾器 222 6 7 本章小結(jié) 224 第7章 父子關(guān)聯(lián) 226 7 1 使用對象數(shù)組存在的問題 226 7 2 嵌套對象 229 7 2 1 在索引中使用嵌套對象 229 7 2 2 嵌套對象的搜索 231 7 2 3 嵌套對象的聚集 236 7 3 join字段 240 7 3 1 在索引中使用join字段 240 7 3 2 join字段的搜索 243 7 3 3 join字段的聚集 248 7 4 在應(yīng)用層關(guān)聯(lián)數(shù)據(jù) 253 7 5 本章小結(jié) 255 第8章 Java高級客戶端編程 257 8 1 開發(fā)前的準備 257 8 2 建立索引并寫入數(shù)據(jù) 259 8 2 1 創(chuàng)建映射 259 8 2 2 寫入、修改、刪除數(shù)據(jù) 263 8 3 搜索數(shù)據(jù) 267 8 4 統(tǒng)計分析 274 8 5 為索引接入實時數(shù)據(jù) 278 8 6 本章小結(jié) 279 第9章 集群擴展和性能優(yōu)化 280 9 1 節(jié)點的角色類型 280 9 2 在CentOS 7上搭建Elasticsearch集群 282 9 2 1 準備工作 282 9 2 2 安裝集群 284 9 2 3 驗證安裝 286 9 3 推薦的集群配置 288 9 4 監(jiān)控集群 292 9 4 1 監(jiān)控集群的狀態(tài)信息 292 9 4 2 監(jiān)控集群的健康狀態(tài) 294 9 4 3 監(jiān)控集群節(jié)點的統(tǒng)計指標 295 9 4 4 監(jiān)控節(jié)點的熱點線程 298 9 4 5 查看慢搜索日志 298 9 4 6 查看慢索引日志 299 9 5 索引分片數(shù)的設(shè)置與橫向擴容 300 9 6 優(yōu)化索引的寫入速度 303 9 6 1 避免寫入過大的文檔 303 9 6 2 合并寫入請求 304 9 6 3 適當增大寫入的線程數(shù)和索引緩沖區(qū) 307 9 7 優(yōu)化搜索的響應(yīng)速度 307 9 7 1 避免深度分頁 308 9 7 2 合并搜索請求 308 9 7 3 使用緩存加快搜索速度 311 9 7 4 控制搜索請求的路由 313 9 8 集群的重啟 314 9 8 1 全集群重啟 315 9 8 2 滾動重啟 316 9 9 集群的備份和恢復(fù) 317 9 9 1 搭建共享文件目錄 317 9 9 2 備份集群數(shù)據(jù) 319 9 9 3 恢復(fù)集群數(shù)據(jù) 322 9 9 4 刪除備份數(shù)據(jù) 323 9 9 5 自動化備份 323 9 10 遠程集群 325 9 10 1 配置遠程集群 325 9 10 2 搜索遠程集群的數(shù)據(jù) 327 9 11 本章小結(jié) 328 發(fā)散篇 第 10章 Logstash:數(shù)據(jù)的源泉 333 10 1 Logstash的工作原理 333 10 2 Logstash的安裝和目錄結(jié)構(gòu) 334 10 3 Logstash的重要配置 335 10 4 Logstash采集腳本的結(jié)構(gòu) 336 10 5 實戰(zhàn)舉例的執(zhí)行 337 10 5 1 采集Nginx日志數(shù)據(jù)到索引中 338 10 5 2 全量抽取表數(shù)據(jù)到索引中 340 10 5 3 增量抽取表數(shù)據(jù)到索引中 345 10 5 4 如何給敏感配置項加密 347 10 6 本章小結(jié) 347 第 11章 Kibana:數(shù)據(jù)可視化利器 349 11 1 在CentOS 7上安裝Kibana 349 11 2 用Kibana可視化管理數(shù)據(jù) 350 11 2 1 索引管理 350 11 2 2 快照備份和恢復(fù)管理 352 11 2 3 遠程集群管理 357 11 3 開發(fā)工具 358 11 3 1 REST端點控制臺 358 11 3 2 搜索調(diào)試器 359 11 3 3 Grok正則模式調(diào)試器 360 11 4 數(shù)據(jù)可視化分析 360 11 4 1 Discover發(fā)現(xiàn) 360 11 4 2 Visualize可視化組件 362 11 4 3 Maps地圖 363 11 4 4 Dashboard大屏儀表盤 364 11 4 5 Canvas畫布 364 11 4 6 查看樣例數(shù)據(jù) 365 11 5 本章小結(jié) 367 第 12章 Beats家族:精細化數(shù)據(jù)采集 368 12 1 Beats家族在Elastic Stack中的職責(zé) 368 12 2 Filebeat的安裝和工作原理 369 12 3 filebeat yml的重要配置 370 12 4 Filebeat采集Nginx日志到 Elasticsearch中 372 12 5 Filebeat采集日志到Logstash中 375 12 6 本章小結(jié) 378
你還可能感興趣
我要評論
|