關(guān)于我們
書單推薦
新書推薦
|
一本書講透Elasticsearch:原理、進階與工程實踐 楊昌玉 著
這是一本關(guān)于Elasticsearch技術(shù)實戰(zhàn)的教程,全面覆蓋了Elastic Stack技術(shù)體系知識,旨在幫助讀者深入了解Elasticsearch的核心技術(shù)和應(yīng)用場景,同時掌握分布式搜索與分析引擎的設(shè)計思想和實現(xiàn)原理。
(1)作者專業(yè)實力強勁:銘毅天下有10多年開發(fā)工作經(jīng)驗,7年深耕Elastic Stack,博客累計閱讀量超1000萬,主導過PB級數(shù)據(jù)存儲與檢索系統(tǒng)項目,累計項目經(jīng)費超千萬。
(1)眾多Elastic大咖力薦:Elastic創(chuàng)始人Shay Banon、Elastic中文社區(qū)創(chuàng)始人Medcl、Wood大叔、張超、魏子珺等15位專家領(lǐng)銜推薦 (2)覆蓋認證考試考點:作者擁有多年Elasticsearch培訓及咨詢經(jīng)驗,并成功指導近200人通過認證考試,并將專家認證考試全部考點融入本書,有效提高應(yīng)試能力。 (3)內(nèi)容體系完善:圍繞Elasticsearch展開,覆蓋基礎(chǔ)知識、關(guān)聯(lián)技術(shù)、核心能力及最佳實踐,實戰(zhàn)知識庫檢索系統(tǒng)、大數(shù)據(jù)可視化系統(tǒng)、日志系統(tǒng)等業(yè)務(wù)場景,并添加大量圖解內(nèi)容,使核心知識點更易被理解和吸收。 (4)實戰(zhàn)性強:融入作者多年Elastic Stack實戰(zhàn)開發(fā)、咨詢經(jīng)驗,以及4年間與來自全球數(shù)百家企業(yè)的近2000名Elastic愛好者的實戰(zhàn)經(jīng)驗,深呈現(xiàn)高質(zhì)量實戰(zhàn)內(nèi)容。
Preface前 言
為什么要寫這本書 當今社會,人工智能(AI)和大數(shù)據(jù)技術(shù)日新月異,大量數(shù)據(jù)的產(chǎn)生、分析和應(yīng)用已經(jīng)成為各個行業(yè)及各個領(lǐng)域的核心工作。對TB甚至PB級別的大數(shù)據(jù)進行處理和檢索的業(yè)務(wù)需求不斷增加,使得企業(yè)及個人對高效的數(shù)據(jù)處理和檢索工具的需求越來越迫切。Elastic Stack提供了一系列強大而靈活的數(shù)據(jù)分析和檢索工具,受到廣泛關(guān)注。 然而,在市場上現(xiàn)有的關(guān)于Elastic Stack的書籍中,筆者發(fā)現(xiàn)了一些不足之處。首先,很多國外翻譯書籍過度依賴舊版本Elasticsearch,如Elasticsearch 1.X、2.X、5.X等,導致部分案例不再適用,給讀者的實際操作帶來困難。其次,無論國內(nèi)還是國外的書籍,都過于關(guān)注API,而忽略了實戰(zhàn)場景和原理解讀,使得讀者缺乏對原理的深刻理解,遇到問題時無法獨立思考解決,也難以建立完整的知識體系。這類書只能“授人以魚”,不能“授人以漁”。 與此同時,盡管借助近期熱門的ChatGPT等大模型AI工具,我們可以在一定程度上提高對Elasticsearch的學習效率,但這些工具仍存在局限,例如:知識更新滯后,無法及時提供最新版本Elasticsearch的相關(guān)知識;提供的內(nèi)容體系不夠系統(tǒng)和完整;基于實戰(zhàn)經(jīng)驗的內(nèi)容不足,難以提供針對實際問題的解決方案;交互性有限,不能有效地解答切身問題;缺乏個性化的學習路徑。 本書旨在彌補這些書籍和工具的能力欠缺,實現(xiàn)以下目標。 以實戰(zhàn)為核心:結(jié)合項目和產(chǎn)品開發(fā)實戰(zhàn)場景,透徹講解概念,深入解讀相關(guān)原理。 建立完整知識體系:對技術(shù)點進行深入剖析和旁征博引,以實現(xiàn)更高級的“授人以漁”的目標。 適用于各層次讀者:在提高Elasticsearch初學者的認知的同時滿足中高級讀者的進階需求。 此外,本書將關(guān)注主流的Elasticsearch 8.X版本,確保讀者在實際操作中不會遇到版本上的困難。 從宏觀和社會責任角度出發(fā),本書力求解決行業(yè)現(xiàn)有問題,為Elastic Stack技術(shù)的普及和應(yīng)用貢獻力量。 讀者對象 本書面向不同層次的Elastic Stack學習者和從業(yè)者,為各類讀者提供翔實、豐富的內(nèi)容。以下是本書的主要讀者對象。 Elastic Stack初學者、初級開發(fā)/運維工程師 本書致力于幫助初學者及初級工程師全面掌握Elastic Stack尤其是Elasticsearch的技術(shù)體系。本書詳盡介紹了Elasticsearch的核心概念、應(yīng)用場景以及問題解決能力,通過閱讀本書,初級工程師將能迅速上手部署日志分析或全文檢索環(huán)境,并應(yīng)對開發(fā)和運維過程中可能遇到的挑戰(zhàn)。 中級開發(fā)/運維工程師 具備一定Elastic Stack基礎(chǔ)的中級工程師,可通過本書鞏固基礎(chǔ)知識,并深入探究Elasticsearch的底層原理。在項目或產(chǎn)品實戰(zhàn)中,中級工程師可借助本書加強自身認知,規(guī)避實際開發(fā)和運維過程中不必要的彎路。同時,本書全面覆蓋了Elasticsearch認證考試的關(guān)鍵考點,有助于中級開發(fā)/運維工程師順利通過Elastic認證(ECE認證)專家考試。 Elastic Stack發(fā)燒友、資深開發(fā)/運維工程師和架構(gòu)師 本書深入剖析了Elasticsearch的底層架構(gòu)、原理及最佳實踐,以幫助資深工程師和架構(gòu)師更高效地運用所學知識,提升項目實踐能力。另外,通過本書,這部分讀者能將理論知識與實戰(zhàn)經(jīng)驗融會貫通,更好地應(yīng)用于實際項目之中。 總之,本書旨在為各階段的Elastic Stack學習者和實踐者提供專業(yè)、系統(tǒng)、實用的內(nèi)容,以幫助他們提升技能水平、拓寬知識視野,為進一步的學習和應(yīng)用奠定堅實基礎(chǔ)。 本書特色 1)融入豐富的實戰(zhàn)經(jīng)驗:本書融入了筆者8年以上的 Elastic Stack實戰(zhàn)開發(fā)、咨詢經(jīng)驗(累計項目經(jīng)費超過1000萬元),以及4年間來自全球數(shù)百家企業(yè)的近2000名Elastic愛好者的實戰(zhàn)經(jīng)驗,深入探討技術(shù)本質(zhì),呈現(xiàn)了有用、有價值的高質(zhì)量內(nèi)容。 2)輔以大量的圖解:在講解透徹的前提下,本書添加了大量圖解內(nèi)容,使核心知識點更易被讀者理解和吸收。 3)全面覆蓋Elastic認證考試的考點:本書覆蓋了Elastic認證考試的所有考點,且基于筆者所積累的寶貴考試經(jīng)驗編寫而成(筆者已成功帶領(lǐng)近150位工程師通過Elastic認證專家考試,占國內(nèi)總通過人數(shù)的一半以上),能有效助力各層次讀者建立Elasticsearch體系化認知。 4)提供實戰(zhàn)項目:本書涵蓋3個實戰(zhàn)項目,以實踐鞏固基礎(chǔ)原理,助力讀者迅速將技能應(yīng)用到企業(yè)實戰(zhàn)環(huán)境中。 5)作者資歷深厚:作者擁有多年架構(gòu)、開發(fā)實戰(zhàn)經(jīng)驗,長期活躍于Elastic中文社區(qū)、CSDN等平臺,具有累計閱讀量超1000萬博客和近2000人的付費社群,在行業(yè)內(nèi)具有較高的知名度和影響力。 如何閱讀本書 本書分為四大部分,共20章,全面講解了Elastic Stack技術(shù)體系,深入剖析了Elasticsearch的基礎(chǔ)概念、核心技術(shù)、進階知識以及實戰(zhàn)案例,讓讀者真正掌握其原理及實現(xiàn)。 第一部分 Elastic Stack全局概覽 這一部分(第1~3章)對Elastic Stack技術(shù)體系進行全局性探討,涉及Elasticsearch的演進歷程、Elastic Stack的各個組成部分及主要應(yīng)用場景,并且將Elasticsearch與其主要競爭對手進行比較。然后,討論搜索引擎的基礎(chǔ)知識,并初步探索了Elasticsearch的核心概念,如集群、節(jié)點、索引等。最后,詳細介紹Elasticsearch單節(jié)點、多節(jié)點集群部署,以及Kibana部署等內(nèi)容。
楊昌玉(銘毅天下)
10多年工作經(jīng)驗的高級工程師,擅長大數(shù)據(jù)存儲和檢索。 曾任職于上市公司、科研院所等,主導過PB級數(shù)據(jù)存儲與檢索系統(tǒng)項目,擁有多年Elasticsearch培訓及咨詢經(jīng)驗。Elastic認證專家、Elasticsearch中國合作培訓講師、Elasticsearch 中文社區(qū)2018年、2023年杰出貢獻獎(排名Top5)獲得者、阿里云MVP(大數(shù)據(jù)領(lǐng)域最有價值專家)、CSDN博客專家(排名Top150)、CSDN 2020年度優(yōu)秀創(chuàng)作者。博客累計閱讀量超1000萬,并被阿里云、騰訊云、華為云、360doc、51CTO等知名媒體平臺全量轉(zhuǎn)載,在CSDN 2013年及2016年的博客征文大賽中獲特等獎!八揽腅lasticsearch”知識星球發(fā)起人,擁有近2000名付費用戶!般懸闾煜翬lasticsearch”公眾號及博客總計擁有近5萬名關(guān)注者。成功指導近200人通過Elastic認證專家考試。
目 錄Contents
贊 譽 前 言 第一部分 Elastic Stack全局概覽 第1章 Elastic Stack全景 2 1.1 Elasticsearch的過去、 現(xiàn)在和未來 3 1.1.1 Elasticsearch的過去 3 1.1.2 Elasticsearch的現(xiàn)在 5 1.1.3 Elasticsearch的未來 6 1.2 Elastic Stack組成 7 1.2.1 Elasticsearch概覽 7 1.2.2 Logstash概覽 8 1.2.3 Kibana概覽 8 1.2.4 Beats概覽 9 1.3 Elastic Stack的應(yīng)用場景 9 1.3.1 全文檢索場景 10 1.3.2 日志分析場景 10 1.3.3 商業(yè)智能場景 10 1.4 Elasticsearch競品分析 10 1.4.1 Apache Solr 11 1.4.2 Splunk 11 1.4.3 OpenSearch 11 1.4.4 Doris 12 1.4.5 ClickHouse 12 1.5 本章小結(jié) 13 第2章 Elasticsearch基礎(chǔ)知識 14 2.1 搜索引擎基礎(chǔ)知識 14 2.1.1 搜索引擎的目標 14 2.1.2 搜索引擎的核心要求 15 2.1.3 檢索質(zhì)量的評價指標 15 2.1.4 倒排索引 16 2.1.5 全文檢索 18 2.2 Elasticsearch的核心概念 19 2.2.1 集群 20 2.2.2 節(jié)點 20 2.2.3 索引 20 2.2.4 分片 20 2.2.5 副本 21 2.2.6 文檔 21 2.2.7 字段 22 2.2.8 映射 22 2.2.9 分詞 23 2.3 本章小結(jié) 23 第3章 Elasticsearch集群部署 25 3.1 Elastic Stack集群部署 基礎(chǔ)知識 25 3.1.1 集群部署平臺及操作 系統(tǒng)的選型 26 3.1.2 集群部署的主要步驟 26 3.1.3 Elasticsearch集群堆 內(nèi)存設(shè)置 27 3.1.4 Elasticsearch集群節(jié)點 角色劃分 29 3.1.5 Elasticsearch集群核心 配置解讀 35 3.2 Elasticsearch單節(jié)點集群與 Kibana的極簡部署 37 3.2.1 Elasticsearch單節(jié)點 集群極簡部署 37 3.2.2 Kibana極簡部署 40 3.3 Elasticsearch單節(jié)點集群與 Kibana的自定義證書部署 42 3.3.1 Elasticsearch單節(jié)點 集群自定義證書部署 43 3.3.2 Kibana自定義證書部署 44 3.4 Elasticsearch多節(jié)點 集群部署 46 3.5 Kibana自帶樣例數(shù)據(jù)導入 47 3.6 本章小結(jié) 48 第二部分 Elasticsearch核心技術(shù) 第4章 Elasticsearch索引 52 4.1 索引的定義 52 4.1.1 類比關(guān)系型數(shù)據(jù)庫看索引 52 4.1.2 索引定義的實現(xiàn) 53 4.2 索引操作 56 4.2.1 新增/創(chuàng)建索引 56 4.2.2 刪除索引 57 4.2.3 修改索引 57 4.2.4 查詢索引 58 4.3 索引別名 58 4.3.1 別名的定義 58 4.3.2 別名的實現(xiàn) 59 4.3.3 別名應(yīng)用的常見問題 60 4.4 索引模板 62 4.4.1 索引模板的定義 62 4.4.2 索引模板的基礎(chǔ)操作 64 4.4.3 動態(tài)模板實戰(zhàn) 64 4.4.4 索引模板應(yīng)用的常見問題 66 4.5 本章小結(jié) 66 第5章 Elasticsearch映射 68 5.1 映射的定義 68 5.1.1 認識映射 68 5.1.2 元字段 69 5.1.3 數(shù)據(jù)類型 69 5.1.4 映射類型 72 5.1.5 實戰(zhàn):映射創(chuàng)建后還 可以更新嗎 75 5.2 Nested類型及應(yīng)用 77 5.2.1 Nested類型的定義 77 5.2.2 Nested類型的操作 81 5.3 Join類型及應(yīng)用 83 5.3.1 認識Join類型 83 5.3.2 Join類型基礎(chǔ)實戰(zhàn) 83 5.3.3 Join類型一對多實戰(zhàn) 86 5.4 Flattened類型及應(yīng)用 89 5.4.1 Elasticsearch字段膨脹問題 89 5.4.2 Flattened類型的產(chǎn)生背景 90 5.4.3 Flattened類型實戰(zhàn) 91 5.4.4 Flattened類型的不足 94 5.5 多表關(guān)聯(lián)設(shè)計 94 5.5.1 Elasticsearch 多表關(guān)聯(lián)方案 94 5.5.2 多表關(guān)聯(lián)方案對比 95 5.6 內(nèi)部數(shù)據(jù)結(jié)構(gòu)解讀 96 5.6.1 數(shù)據(jù)存儲的基礎(chǔ)知識 96 5.6.2 倒排索引 96 5.6.3 正排索引 97 5.6.4 fielddata 98 5.6.5 _source字段 100 5.6.6 store字段 100 5.7 詳解null_value 102 5.7.1 null_value的含義 103 5.7.2 null_value使用的 注意事項 104 5.7.3 支持null_value的 核心字段 105 5.8 本章小結(jié) 106 第6章 Elasticsearch分詞 108 6.1 認識分詞 108 6.2 為什么需要分詞 109 6.3 分詞發(fā)生的階段 109 6.3.1 寫入數(shù)據(jù)階段 109 6.3.2 執(zhí)行檢索階段 109 6.4 分詞器的組成 110 6.4.1 字符過濾 110 6.4.2 文本切分為分詞 111 6.4.3 分詞后再過濾 111 6.5 分詞器的分類 112 6.6 特定業(yè)務(wù)場景的 自定義分詞案例 113 6.6.1 實戰(zhàn)問題拆解 113 6.6.2 實現(xiàn)方案 114 6.6.3 結(jié)果驗證 115 6.7 Ngram自定義分詞案例 116 6.7.1 實戰(zhàn)問題拆解 117 6.7.2 Ngram分詞器定義 118 6.7.3 Ngram分詞實戰(zhàn) 119 6.7.4 Ngram分詞選型的 注意事項 121 6.8 本章小結(jié) 121 第7章 Elasticsearch預處理 123 7.1 預處理定義 123 7.2 預處理器分類 125 7.3 預處理實現(xiàn) 125 7.4 預處理實戰(zhàn)案例 126 7.4.1 字符串切分預處理 126 7.4.2 字符串轉(zhuǎn)JSON格式 127 7.4.3 列表操作 128 7.4.4 enrich預處理 129 7.4.5 預處理實戰(zhàn)的常見問題 137 7.5 本章小結(jié) 138 第8章 Elasticsearch文檔 139 8.1 新增文檔 140 8.1.1 文檔ID 140 8.1.2 新增單個文檔 140 8.1.3 新增批量文檔 142 8.2 刪除文檔 143 8.2.1 單個文檔刪除 144 8.2.2 批量文檔刪除 144 8.3 修改/更新文檔 145 8.3.1 更新文檔的前置條件 145 8.3.2 單個文檔部分更新 146 8.3.3 全部文檔更新 148 8.3.4 批量文檔更新 149 8.3.5 取消更新 150 8.4 reindex:遷移文檔 151 8.4.1 reindex操作的 背景及定義 151 8.4.2 同集群索引之間的 全量數(shù)據(jù)遷移 152 8.4.3 同集群索引之間基于 特定條件的數(shù)據(jù)遷移 152 8.4.4 不同集群索引之間的 數(shù)據(jù)遷移 154 8.4.5 查看及取消reindex任務(wù) 154 8.4.6 業(yè)務(wù)零掉線情況下的 數(shù)據(jù)遷移 155 8.5 本章小結(jié) 155 第9章 Elasticsearch腳本 156 9.1 認識Elasticsearch腳本 156 9.1.1 Elasticsearch腳本的背景 156 9.1.2 Painless腳本語言簡介 157 9.2 Elasticsearch腳本的應(yīng)用 場景和模板 158 9.3 Elasticsearch腳本實戰(zhàn) 158 9.3.1 自定義字段 158 9.3.2 自定義評分 159 9.3.3 自定義更新 159 9.3.4 自定義reindex 160 9.3.5 自定義聚合 161 9.3.6 實戰(zhàn)常見問題 162 9.4 本章小結(jié) 163 第10章 Elasticsearch檢索 164 10.1 檢索選型指南 164 10.1.1 Elasticsearch檢索分類 165 10.1.2 精準匹配檢索和全文 檢索的本質(zhì)區(qū)別 167 10.1.3 精準匹配檢索詳解 170 10.1.4 全文檢索類型詳解 179 10.1.5 組合檢索類型詳解 183 10.1.6 query和filter的區(qū)別 184 10.2 高亮、排序和分頁 186 10.2.1 高亮 186 10.2.2 排序 188 10.2.3 分頁 190 10.3 自定義評分 191 10.3.1 搜索結(jié)果相關(guān)度與 自定義評分的關(guān)系 191 10.3.2 控制Elasticsearch 相關(guān)度 192 10.3.3 計算相關(guān)度評分 192 10.3.4 影響相關(guān)度評分的 查詢子句 193 10.3.5 自定義評分定義 193 10.4 檢索模板 199 10.4.1 檢索模板基礎(chǔ)知識 199 10.4.2 檢索模板實戰(zhàn)問題及 解決方案 201 10.5 深度解讀Elasticsearch 分頁查詢 206 10.5.1 from + size查詢 206 10.5.2 search_after查詢 209 10.5.3 scroll查詢 212 10.6 本章小結(jié) 214 第11章 Elasticsearch聚合 215 11.1 圖解聚合 215 11.1.1 數(shù)據(jù)源 215 11.1.2 聚合分類 216 11.1.3 聚合應(yīng)用場景 226 11.2 聚合后分頁的新實現(xiàn): 組合聚合 226 11.2.1 認識組合聚合 227 11.2.2 組合聚合的應(yīng)用場景 230 11.2.3 組合聚合的核心功能 230 11.2.4 利用組合聚合進行 聚合后分頁實戰(zhàn) 231 11.3 通過子聚合求解環(huán)比問題 233 11.3.1 parent子聚合和sibling 子聚合詳解 234 11.3.2 環(huán)比問題拆解 237 11.3.3 環(huán)比問題求解實現(xiàn) 237 11.3.4 bucket相關(guān)子聚合的 常見問題 239 11.4 Elasticsearch去重 240 11.4.1 去重需求分析 240 11.4.2 去重需求實現(xiàn) 240 11.5 本章小結(jié) 243 第12章 Elasticsearch集群 245 12.1 冷熱集群架構(gòu) 245 12.1.1 認識冷熱集群架構(gòu) 245 12.1.2 冷熱集群架構(gòu)的 應(yīng)用場景 246 12.1.3 冷熱集群架構(gòu)的優(yōu)勢 247 12.1.4 冷熱集群架構(gòu)實戰(zhàn) 247 12.2 索引生命周期管理 249 12.2.1 認識索引生命周期 249 12.2.2 索引生命周期管理的 歷史演變 249 12.2.3 索引生命周期管理的 基礎(chǔ)知識 250 12.2.4 索引生命周期管理的 核心概念 255 12.2.5 索引生命周期管理實戰(zhàn): DSL命令行 256 12.2.6 索引生命周期管理實戰(zhàn):Kibana圖形化界面 258 12.3 跨機房、跨機架部署 261 12.3.1 跨機房、跨機架 部署要求 261 12.3.2 跨機房、跨機架 部署實戰(zhàn) 262 12.4 集群/索引的備份與恢復 264 12.4.1 常見的索引/ 集群的備份與恢復方案 264 12.4.2 Elasticsearch快照和 恢復功能 265 12.4.3 elasticdump遷移 268 12.5 快照生命周期管理 269 12.5.1 認識快照生命周期 270 12.5.2 快照生命周期管理實現(xiàn) 270 12.5.3 恢復快照 274 12.5.4 快照生命周期 管理的常見命令 275 12.5.5 通過Kibana圖形化界面 進行快照生命周期管理 277 12.6 跨集群檢索 279 12.6.1 跨集群檢索定義 279 12.6.2 跨集群檢索實戰(zhàn) 279 12.6.3 跨集群檢索優(yōu)勢 282 12.7 本章小結(jié) 282 第13章 Elasticsearch安全 284 13.1 集群安全基礎(chǔ) 284 13.1.1 Elasticsearch如何 保障安全 284 13.1.2 Elasticsearch X-Pack 安全配置 286 13.1.3 設(shè)置或重置賬號和密碼 286 13.2 定義基于角色的訪問控制 287 13.3 如何安全使用Elasticsearch 腳本 290 13.3.1 Elasticsearch安全原則 290 13.3.2 腳本類型細分 290 13.3.3 腳本分級限制 292 13.3.4 控制腳本的可用范圍 293 13.4 本章小結(jié) 293 第14章 Elasticsearch運維 295 14.1 Elasticsearch集群監(jiān)控的 維度及指標 295 14.1.1 5個重要監(jiān)控維度 295 14.1.2 10個核心監(jiān)控指標 302 14.2 集群故障排查及修復指南 302 14.2.1 集群健康狀態(tài)的解讀 303 14.2.2 如何定位紅色或 黃色的索引 303 14.3 運維及故障診斷的常用命令 308 14.4 Elasticsearch監(jiān)控指標 可視化 310 14.4.1 Elasticsearch監(jiān)控的 前置條件 310 14.4.2 Metricbeat安裝及Kibana 可視化 312 14.5 Elasticsearch日志 317 14.5.1 Elasticsearch日志基礎(chǔ) 知識 317 14.5.2 最低級別日志能否輸出 檢索語句 319 14.5.3 Elasticsearch slowlog的 常見問題 319 14.6 本章小結(jié) 322 第三部分 Elasticsearch進階指南 第15章 Elasticsearch核心 工作原理 326 15.1 Elasticsearch文檔版本的 應(yīng)用原理 326 15.1.1 文檔版本控制機制的 產(chǎn)生背景 326 15.1.2 Elasticsearch文檔 版本定義 327 15.1.3 Elasticsearch文檔 版本沖突 328 15.1.4 常見的并發(fā)控制策略 331 15.1.5 如何解決或避免Elasticsearch文檔版本沖突 332 15.2 Elasticsearch文檔更新/ 刪除的原理 336 15.2.1 更新/刪除操作時文檔 版本號的變化 337 15.2.2 文檔刪除、索引刪除和 文檔更新的本質(zhì) 338 15.2.3 文檔更新/刪除的 常見問題 339 15.3 Elasticsearch寫入的原理 341 15.3.1 Elasticsearch寫入的核心 概念 342 15.3.2 Elasticsearch寫入的實現(xiàn) 流程 343 15.3.3 Elasticsearch refresh和 flush操作 344 15.4 Elasticsearch段合并的原理 345 15.4.1 段的基礎(chǔ)知識 345 15.4.2 什么是段合并 346 15.4.3 為什么要進行段合并 346 15.4.4 段合并的潛在問題 346 15.4.5 段合并問題的 優(yōu)化建議 347 15.5 Elasticsearch檢索的原理 347 15.6 本章小結(jié) 349 第16章 Elasticsearch性能優(yōu)化 350 16.1 Elasticsearch性能指標 350 16.2 Elasticsearch通用的性能 優(yōu)化建議 351 16.3 Elasticsearch寫入優(yōu)化 357 16.3.1 寫入優(yōu)化建議 357 16.3.2 寫入過程監(jiān)控 360 16.4 Elasticsearch檢索優(yōu)化 361 16.4.1 全量數(shù)據(jù)和大文檔 處理的優(yōu)化建議 361 16.4.2 數(shù)據(jù)建模層面的 優(yōu)化建議 361 16.4.3 檢索方法層面的 優(yōu)化建議 363 16.4.4 性能優(yōu)化的DSL 命令行 367 16.5 本章小結(jié) 370 第17章 Elasticsearch實戰(zhàn) “避坑”指南 372 17.1 Elasticsearch分片 372 17.1.1 常見分片問題 372 17.1.2 分片大小如何影響性能 373 17.1.3 分片及副本設(shè)置建議 373 17.2 25個核心Elasticsearch 默認值 375 17.2.1 參數(shù)類型以及靜態(tài)參數(shù)和 動態(tài)參數(shù)的區(qū)別 375 17.2.2 6個Elasticsearch集群級別 參數(shù)的關(guān)鍵默認值 376 17.2.3 7個Elasticsearch索引級別 參數(shù)的關(guān)鍵默認值 377 17.2.4 4個Elasticsearch映射級別 參數(shù)的關(guān)鍵默認值 379 17.2.5 8個其他關(guān)鍵默認值 380 17.3 Elasticsearch線程池和隊列 381 17.3.1 線程池簡介 382 17.3.2 線程池類型 383 17.3.3 線程池的基礎(chǔ)知識 383 17.3.4 隊列的基礎(chǔ)知識 384 17.3.5 線程池實戰(zhàn)問題及 注意事項 388 17.4 Elasticsearch熱點線程 389 17.4.1 熱點線程簡介 389 17.4.2 熱點線程支持的參數(shù) 389 17.4.3 hot_threads API的 應(yīng)用原理 390 17.4.4 hot_threads API的 返回結(jié)果 391 17.5 規(guī)劃Elasticsearch集群規(guī)模 和容量 393 17.5.1 Elasticsearch基礎(chǔ)架構(gòu) 393 17.5.2 維系Elasticsearch 高性能的4種資源 394 17.5.3 集群規(guī)模和容量的 預估方法 395 17.6 Elasticsearch Java客戶端 選型 398 17.6.1 官方Elasticsearch Java 客戶端 398 17.6.2 非官方Elasticsearch Java 客戶端 402 17.6.3 如何進行Elasticsearch Java 客戶端選型 404 17.7 Elasticsearch緩存 404 17.7.1 Elasticsearch緩存分類 404 17.7.2 查詢與清理緩存 408 17.8 Elasticsearch數(shù)據(jù)建!409 17.8.1 為什么要進行數(shù)據(jù)建模 409 17.8.2 如何實現(xiàn)數(shù)據(jù)建!411 17.9 利用JMeter進行Elasticsearch 性能測試 420 17.9.1 Elasticsearch性能測試 工具 420 17.9.2 JMeter部署與啟動 421 17.9.3 關(guān)于JMeter性能測試的 4點認知 423 17.9.4 利用JMeter進行Elasticsearch 8.X性能測試 424 17.9.5 JMeter性能測試與優(yōu)化 實戰(zhàn) 428 17.10 本章小結(jié) 431 第四部分 Elasticsearch項目實戰(zhàn) 第18章 Elasticsearch知識庫 檢索系統(tǒng)實戰(zhàn) 434 18.1 知識庫檢索系統(tǒng)的 需求分析 434 18.2 知識庫檢索系統(tǒng)的 技術(shù)選型 435 18.2.1 OpenOffice 436 18.2.2 Tika 437 18.2.3 Ingest Attachment 438 18.2.4 FSCrawler 439 18.2.5 Python Flask 439 18.3 知識庫檢索系統(tǒng)的 技術(shù)架構(gòu) 440 18.4 知識庫檢索系統(tǒng)的實現(xiàn) 441 18.4.1 FSCrawler使用 步驟詳解 441 18.4.2 系統(tǒng)實現(xiàn)效果展示 443 18.4.3 數(shù)據(jù)統(tǒng)計可視化 445 18.5 本章小結(jié) 446 第19章 Elastic Stack大數(shù)據(jù) 可視化系統(tǒng)實戰(zhàn) 447 19.1 大數(shù)據(jù)可視化系統(tǒng)的 需求分析 447 19.2 大數(shù)據(jù)可視化系統(tǒng)的 技術(shù)架構(gòu) 447 19.3 大數(shù)據(jù)可視化系統(tǒng)的設(shè)計 448 19.3.1 影評數(shù)據(jù)獲取的可行性 分析 448 19.3.2 可分析的數(shù)據(jù)字段及其
你還可能感興趣
我要評論
|