關(guān)于我們
書單推薦
新書推薦
|
一本書講透Elasticsearch:原理、進(jìn)階與工程實(shí)踐 楊昌玉 著
這是一本關(guān)于Elasticsearch技術(shù)實(shí)戰(zhàn)的教程,全面覆蓋了Elastic Stack技術(shù)體系知識,旨在幫助讀者深入了解Elasticsearch的核心技術(shù)和應(yīng)用場景,同時(shí)掌握分布式搜索與分析引擎的設(shè)計(jì)思想和實(shí)現(xiàn)原理。
(1)作者專業(yè)實(shí)力強(qiáng)勁:銘毅天下有10多年開發(fā)工作經(jīng)驗(yàn),7年深耕Elastic Stack,博客累計(jì)閱讀量超1000萬,主導(dǎo)過PB級數(shù)據(jù)存儲與檢索系統(tǒng)項(xiàng)目,累計(jì)項(xiàng)目經(jīng)費(fèi)超千萬。
(1)眾多Elastic大咖力薦:Elastic創(chuàng)始人Shay Banon、Elastic中文社區(qū)創(chuàng)始人Medcl、Wood大叔、張超、魏子珺等15位專家領(lǐng)銜推薦 (2)覆蓋認(rèn)證考試考點(diǎn):作者擁有多年Elasticsearch培訓(xùn)及咨詢經(jīng)驗(yàn),并成功指導(dǎo)近200人通過認(rèn)證考試,并將專家認(rèn)證考試全部考點(diǎn)融入本書,有效提高應(yīng)試能力。 (3)內(nèi)容體系完善:圍繞Elasticsearch展開,覆蓋基礎(chǔ)知識、關(guān)聯(lián)技術(shù)、核心能力及最佳實(shí)踐,實(shí)戰(zhàn)知識庫檢索系統(tǒng)、大數(shù)據(jù)可視化系統(tǒng)、日志系統(tǒng)等業(yè)務(wù)場景,并添加大量圖解內(nèi)容,使核心知識點(diǎn)更易被理解和吸收。 (4)實(shí)戰(zhàn)性強(qiáng):融入作者多年Elastic Stack實(shí)戰(zhàn)開發(fā)、咨詢經(jīng)驗(yàn),以及4年間與來自全球數(shù)百家企業(yè)的近2000名Elastic愛好者的實(shí)戰(zhàn)經(jīng)驗(yàn),深呈現(xiàn)高質(zhì)量實(shí)戰(zhàn)內(nèi)容。
Preface前 言
為什么要寫這本書 當(dāng)今社會,人工智能(AI)和大數(shù)據(jù)技術(shù)日新月異,大量數(shù)據(jù)的產(chǎn)生、分析和應(yīng)用已經(jīng)成為各個(gè)行業(yè)及各個(gè)領(lǐng)域的核心工作。對TB甚至PB級別的大數(shù)據(jù)進(jìn)行處理和檢索的業(yè)務(wù)需求不斷增加,使得企業(yè)及個(gè)人對高效的數(shù)據(jù)處理和檢索工具的需求越來越迫切。Elastic Stack提供了一系列強(qiáng)大而靈活的數(shù)據(jù)分析和檢索工具,受到廣泛關(guān)注。 然而,在市場上現(xiàn)有的關(guān)于Elastic Stack的書籍中,筆者發(fā)現(xiàn)了一些不足之處。首先,很多國外翻譯書籍過度依賴舊版本Elasticsearch,如Elasticsearch 1.X、2.X、5.X等,導(dǎo)致部分案例不再適用,給讀者的實(shí)際操作帶來困難。其次,無論國內(nèi)還是國外的書籍,都過于關(guān)注API,而忽略了實(shí)戰(zhàn)場景和原理解讀,使得讀者缺乏對原理的深刻理解,遇到問題時(shí)無法獨(dú)立思考解決,也難以建立完整的知識體系。這類書只能“授人以魚”,不能“授人以漁”。 與此同時(shí),盡管借助近期熱門的ChatGPT等大模型AI工具,我們可以在一定程度上提高對Elasticsearch的學(xué)習(xí)效率,但這些工具仍存在局限,例如:知識更新滯后,無法及時(shí)提供最新版本Elasticsearch的相關(guān)知識;提供的內(nèi)容體系不夠系統(tǒng)和完整;基于實(shí)戰(zhàn)經(jīng)驗(yàn)的內(nèi)容不足,難以提供針對實(shí)際問題的解決方案;交互性有限,不能有效地解答切身問題;缺乏個(gè)性化的學(xué)習(xí)路徑。 本書旨在彌補(bǔ)這些書籍和工具的能力欠缺,實(shí)現(xiàn)以下目標(biāo)。 以實(shí)戰(zhàn)為核心:結(jié)合項(xiàng)目和產(chǎn)品開發(fā)實(shí)戰(zhàn)場景,透徹講解概念,深入解讀相關(guān)原理。 建立完整知識體系:對技術(shù)點(diǎn)進(jìn)行深入剖析和旁征博引,以實(shí)現(xiàn)更高級的“授人以漁”的目標(biāo)。 適用于各層次讀者:在提高Elasticsearch初學(xué)者的認(rèn)知的同時(shí)滿足中高級讀者的進(jìn)階需求。 此外,本書將關(guān)注主流的Elasticsearch 8.X版本,確保讀者在實(shí)際操作中不會遇到版本上的困難。 從宏觀和社會責(zé)任角度出發(fā),本書力求解決行業(yè)現(xiàn)有問題,為Elastic Stack技術(shù)的普及和應(yīng)用貢獻(xiàn)力量。 讀者對象 本書面向不同層次的Elastic Stack學(xué)習(xí)者和從業(yè)者,為各類讀者提供翔實(shí)、豐富的內(nèi)容。以下是本書的主要讀者對象。 Elastic Stack初學(xué)者、初級開發(fā)/運(yùn)維工程師 本書致力于幫助初學(xué)者及初級工程師全面掌握Elastic Stack尤其是Elasticsearch的技術(shù)體系。本書詳盡介紹了Elasticsearch的核心概念、應(yīng)用場景以及問題解決能力,通過閱讀本書,初級工程師將能迅速上手部署日志分析或全文檢索環(huán)境,并應(yīng)對開發(fā)和運(yùn)維過程中可能遇到的挑戰(zhàn)。 中級開發(fā)/運(yùn)維工程師 具備一定Elastic Stack基礎(chǔ)的中級工程師,可通過本書鞏固基礎(chǔ)知識,并深入探究Elasticsearch的底層原理。在項(xiàng)目或產(chǎn)品實(shí)戰(zhàn)中,中級工程師可借助本書加強(qiáng)自身認(rèn)知,規(guī)避實(shí)際開發(fā)和運(yùn)維過程中不必要的彎路。同時(shí),本書全面覆蓋了Elasticsearch認(rèn)證考試的關(guān)鍵考點(diǎn),有助于中級開發(fā)/運(yùn)維工程師順利通過Elastic認(rèn)證(ECE認(rèn)證)專家考試。 Elastic Stack發(fā)燒友、資深開發(fā)/運(yùn)維工程師和架構(gòu)師 本書深入剖析了Elasticsearch的底層架構(gòu)、原理及最佳實(shí)踐,以幫助資深工程師和架構(gòu)師更高效地運(yùn)用所學(xué)知識,提升項(xiàng)目實(shí)踐能力。另外,通過本書,這部分讀者能將理論知識與實(shí)戰(zhàn)經(jīng)驗(yàn)融會貫通,更好地應(yīng)用于實(shí)際項(xiàng)目之中。 總之,本書旨在為各階段的Elastic Stack學(xué)習(xí)者和實(shí)踐者提供專業(yè)、系統(tǒng)、實(shí)用的內(nèi)容,以幫助他們提升技能水平、拓寬知識視野,為進(jìn)一步的學(xué)習(xí)和應(yīng)用奠定堅(jiān)實(shí)基礎(chǔ)。 本書特色 1)融入豐富的實(shí)戰(zhàn)經(jīng)驗(yàn):本書融入了筆者8年以上的 Elastic Stack實(shí)戰(zhàn)開發(fā)、咨詢經(jīng)驗(yàn)(累計(jì)項(xiàng)目經(jīng)費(fèi)超過1000萬元),以及4年間來自全球數(shù)百家企業(yè)的近2000名Elastic愛好者的實(shí)戰(zhàn)經(jīng)驗(yàn),深入探討技術(shù)本質(zhì),呈現(xiàn)了有用、有價(jià)值的高質(zhì)量內(nèi)容。 2)輔以大量的圖解:在講解透徹的前提下,本書添加了大量圖解內(nèi)容,使核心知識點(diǎn)更易被讀者理解和吸收。 3)全面覆蓋Elastic認(rèn)證考試的考點(diǎn):本書覆蓋了Elastic認(rèn)證考試的所有考點(diǎn),且基于筆者所積累的寶貴考試經(jīng)驗(yàn)編寫而成(筆者已成功帶領(lǐng)近150位工程師通過Elastic認(rèn)證專家考試,占國內(nèi)總通過人數(shù)的一半以上),能有效助力各層次讀者建立Elasticsearch體系化認(rèn)知。 4)提供實(shí)戰(zhàn)項(xiàng)目:本書涵蓋3個(gè)實(shí)戰(zhàn)項(xiàng)目,以實(shí)踐鞏固基礎(chǔ)原理,助力讀者迅速將技能應(yīng)用到企業(yè)實(shí)戰(zhàn)環(huán)境中。 5)作者資歷深厚:作者擁有多年架構(gòu)、開發(fā)實(shí)戰(zhàn)經(jīng)驗(yàn),長期活躍于Elastic中文社區(qū)、CSDN等平臺,具有累計(jì)閱讀量超1000萬博客和近2000人的付費(fèi)社群,在行業(yè)內(nèi)具有較高的知名度和影響力。 如何閱讀本書 本書分為四大部分,共20章,全面講解了Elastic Stack技術(shù)體系,深入剖析了Elasticsearch的基礎(chǔ)概念、核心技術(shù)、進(jìn)階知識以及實(shí)戰(zhàn)案例,讓讀者真正掌握其原理及實(shí)現(xiàn)。 第一部分 Elastic Stack全局概覽 這一部分(第1~3章)對Elastic Stack技術(shù)體系進(jìn)行全局性探討,涉及Elasticsearch的演進(jìn)歷程、Elastic Stack的各個(gè)組成部分及主要應(yīng)用場景,并且將Elasticsearch與其主要競爭對手進(jìn)行比較。然后,討論搜索引擎的基礎(chǔ)知識,并初步探索了Elasticsearch的核心概念,如集群、節(jié)點(diǎn)、索引等。最后,詳細(xì)介紹Elasticsearch單節(jié)點(diǎn)、多節(jié)點(diǎn)集群部署,以及Kibana部署等內(nèi)容。
楊昌玉(銘毅天下)
10多年工作經(jīng)驗(yàn)的高級工程師,擅長大數(shù)據(jù)存儲和檢索。 曾任職于上市公司、科研院所等,主導(dǎo)過PB級數(shù)據(jù)存儲與檢索系統(tǒng)項(xiàng)目,擁有多年Elasticsearch培訓(xùn)及咨詢經(jīng)驗(yàn)。Elastic認(rèn)證專家、Elasticsearch中國合作培訓(xùn)講師、Elasticsearch 中文社區(qū)2018年、2023年杰出貢獻(xiàn)獎(jiǎng)(排名Top5)獲得者、阿里云MVP(大數(shù)據(jù)領(lǐng)域最有價(jià)值專家)、CSDN博客專家(排名Top150)、CSDN 2020年度優(yōu)秀創(chuàng)作者。博客累計(jì)閱讀量超1000萬,并被阿里云、騰訊云、華為云、360doc、51CTO等知名媒體平臺全量轉(zhuǎn)載,在CSDN 2013年及2016年的博客征文大賽中獲特等獎(jiǎng)!八揽腅lasticsearch”知識星球發(fā)起人,擁有近2000名付費(fèi)用戶!般懸闾煜翬lasticsearch”公眾號及博客總計(jì)擁有近5萬名關(guān)注者。成功指導(dǎo)近200人通過Elastic認(rèn)證專家考試。
目 錄Contents
贊 譽(yù) 前 言 第一部分 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 搜索引擎的目標(biāo) 14 2.1.2 搜索引擎的核心要求 15 2.1.3 檢索質(zhì)量的評價(jià)指標(biāo) 15 2.1.4 倒排索引 16 2.1.5 全文檢索 18 2.2 Elasticsearch的核心概念 19 2.2.1 集群 20 2.2.2 節(jié)點(diǎn) 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é)點(diǎn) 角色劃分 29 3.1.5 Elasticsearch集群核心 配置解讀 35 3.2 Elasticsearch單節(jié)點(diǎn)集群與 Kibana的極簡部署 37 3.2.1 Elasticsearch單節(jié)點(diǎn) 集群極簡部署 37 3.2.2 Kibana極簡部署 40 3.3 Elasticsearch單節(jié)點(diǎn)集群與 Kibana的自定義證書部署 42 3.3.1 Elasticsearch單節(jié)點(diǎn) 集群自定義證書部署 43 3.3.2 Kibana自定義證書部署 44 3.4 Elasticsearch多節(jié)點(diǎn) 集群部署 46 3.5 Kibana自帶樣例數(shù)據(jù)導(dǎo)入 47 3.6 本章小結(jié) 48 第二部分 Elasticsearch核心技術(shù) 第4章 Elasticsearch索引 52 4.1 索引的定義 52 4.1.1 類比關(guān)系型數(shù)據(jù)庫看索引 52 4.1.2 索引定義的實(shí)現(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 別名的實(shí)現(xiàn) 59 4.3.3 別名應(yīng)用的常見問題 60 4.4 索引模板 62 4.4.1 索引模板的定義 62 4.4.2 索引模板的基礎(chǔ)操作 64 4.4.3 動(dòng)態(tài)模板實(shí)戰(zhàn) 64 4.4.4 索引模板應(yīng)用的常見問題 66 4.5 本章小結(jié) 66 第5章 Elasticsearch映射 68 5.1 映射的定義 68 5.1.1 認(rèn)識映射 68 5.1.2 元字段 69 5.1.3 數(shù)據(jù)類型 69 5.1.4 映射類型 72 5.1.5 實(shí)戰(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 認(rèn)識Join類型 83 5.3.2 Join類型基礎(chǔ)實(shí)戰(zhàn) 83 5.3.3 Join類型一對多實(shí)戰(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類型實(shí)戰(zhàn) 91 5.4.4 Flattened類型的不足 94 5.5 多表關(guān)聯(lián)設(shè)計(jì) 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使用的 注意事項(xiàng) 104 5.7.3 支持null_value的 核心字段 105 5.8 本章小結(jié) 106 第6章 Elasticsearch分詞 108 6.1 認(rèn)識分詞 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 實(shí)戰(zhàn)問題拆解 113 6.6.2 實(shí)現(xiàn)方案 114 6.6.3 結(jié)果驗(yàn)證 115 6.7 Ngram自定義分詞案例 116 6.7.1 實(shí)戰(zhàn)問題拆解 117 6.7.2 Ngram分詞器定義 118 6.7.3 Ngram分詞實(shí)戰(zhàn) 119 6.7.4 Ngram分詞選型的 注意事項(xiàng) 121 6.8 本章小結(jié) 121 第7章 Elasticsearch預(yù)處理 123 7.1 預(yù)處理定義 123 7.2 預(yù)處理器分類 125 7.3 預(yù)處理實(shí)現(xiàn) 125 7.4 預(yù)處理實(shí)戰(zhàn)案例 126 7.4.1 字符串切分預(yù)處理 126 7.4.2 字符串轉(zhuǎn)JSON格式 127 7.4.3 列表操作 128 7.4.4 enrich預(yù)處理 129 7.4.5 預(yù)處理實(shí)戰(zhàn)的常見問題 137 7.5 本章小結(jié) 138 第8章 Elasticsearch文檔 139 8.1 新增文檔 140 8.1.1 文檔ID 140 8.1.2 新增單個(gè)文檔 140 8.1.3 新增批量文檔 142 8.2 刪除文檔 143 8.2.1 單個(gè)文檔刪除 144 8.2.2 批量文檔刪除 144 8.3 修改/更新文檔 145 8.3.1 更新文檔的前置條件 145 8.3.2 單個(gè)文檔部分更新 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 認(rèn)識Elasticsearch腳本 156 9.1.1 Elasticsearch腳本的背景 156 9.1.2 Painless腳本語言簡介 157 9.2 Elasticsearch腳本的應(yīng)用 場景和模板 158 9.3 Elasticsearch腳本實(shí)戰(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 實(shí)戰(zhàn)常見問題 162 9.4 本章小結(jié) 163 第10章 Elasticsearch檢索 164 10.1 檢索選型指南 164 10.1.1 Elasticsearch檢索分類 165 10.1.2 精準(zhǔn)匹配檢索和全文 檢索的本質(zhì)區(qū)別 167 10.1.3 精準(zhǔn)匹配檢索詳解 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 計(jì)算相關(guān)度評分 192 10.3.4 影響相關(guān)度評分的 查詢子句 193 10.3.5 自定義評分定義 193 10.4 檢索模板 199 10.4.1 檢索模板基礎(chǔ)知識 199 10.4.2 檢索模板實(shí)戰(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 聚合后分頁的新實(shí)現(xiàn): 組合聚合 226 11.2.1 認(rèn)識組合聚合 227 11.2.2 組合聚合的應(yīng)用場景 230 11.2.3 組合聚合的核心功能 230 11.2.4 利用組合聚合進(jìn)行 聚合后分頁實(shí)戰(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)比問題求解實(shí)現(xiàn) 237 11.3.4 bucket相關(guān)子聚合的 常見問題 239 11.4 Elasticsearch去重 240 11.4.1 去重需求分析 240 11.4.2 去重需求實(shí)現(xiàn) 240 11.5 本章小結(jié) 243 第12章 Elasticsearch集群 245 12.1 冷熱集群架構(gòu) 245 12.1.1 認(rèn)識冷熱集群架構(gòu) 245 12.1.2 冷熱集群架構(gòu)的 應(yīng)用場景 246 12.1.3 冷熱集群架構(gòu)的優(yōu)勢 247 12.1.4 冷熱集群架構(gòu)實(shí)戰(zhàn) 247 12.2 索引生命周期管理 249 12.2.1 認(rèn)識索引生命周期 249 12.2.2 索引生命周期管理的 歷史演變 249 12.2.3 索引生命周期管理的 基礎(chǔ)知識 250 12.2.4 索引生命周期管理的 核心概念 255 12.2.5 索引生命周期管理實(shí)戰(zhàn): DSL命令行 256 12.2.6 索引生命周期管理實(shí)戰(zhàn):Kibana圖形化界面 258 12.3 跨機(jī)房、跨機(jī)架部署 261 12.3.1 跨機(jī)房、跨機(jī)架 部署要求 261 12.3.2 跨機(jī)房、跨機(jī)架 部署實(shí)戰(zhàn) 262 12.4 集群/索引的備份與恢復(fù) 264 12.4.1 常見的索引/ 集群的備份與恢復(fù)方案 264 12.4.2 Elasticsearch快照和 恢復(fù)功能 265 12.4.3 elasticdump遷移 268 12.5 快照生命周期管理 269 12.5.1 認(rèn)識快照生命周期 270 12.5.2 快照生命周期管理實(shí)現(xiàn) 270 12.5.3 恢復(fù)快照 274 12.5.4 快照生命周期 管理的常見命令 275 12.5.5 通過Kibana圖形化界面 進(jìn)行快照生命周期管理 277 12.6 跨集群檢索 279 12.6.1 跨集群檢索定義 279 12.6.2 跨集群檢索實(shí)戰(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 腳本類型細(xì)分 290 13.3.3 腳本分級限制 292 13.3.4 控制腳本的可用范圍 293 13.4 本章小結(jié) 293 第14章 Elasticsearch運(yùn)維 295 14.1 Elasticsearch集群監(jiān)控的 維度及指標(biāo) 295 14.1.1 5個(gè)重要監(jiān)控維度 295 14.1.2 10個(gè)核心監(jiān)控指標(biāo) 302 14.2 集群故障排查及修復(fù)指南 302 14.2.1 集群健康狀態(tài)的解讀 303 14.2.2 如何定位紅色或 黃色的索引 303 14.3 運(yùn)維及故障診斷的常用命令 308 14.4 Elasticsearch監(jiān)控指標(biāo) 可視化 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進(jìn)階指南 第15章 Elasticsearch核心 工作原理 326 15.1 Elasticsearch文檔版本的 應(yīng)用原理 326 15.1.1 文檔版本控制機(jī)制的 產(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 更新/刪除操作時(shí)文檔 版本號的變化 337 15.2.2 文檔刪除、索引刪除和 文檔更新的本質(zhì) 338 15.2.3 文檔更新/刪除的 常見問題 339 15.3 Elasticsearch寫入的原理 341 15.3.1 Elasticsearch寫入的核心 概念 342 15.3.2 Elasticsearch寫入的實(shí)現(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 為什么要進(jìn)行段合并 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性能指標(biāo) 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實(shí)戰(zhàn) “避坑”指南 372 17.1 Elasticsearch分片 372 17.1.1 常見分片問題 372 17.1.2 分片大小如何影響性能 373 17.1.3 分片及副本設(shè)置建議 373 17.2 25個(gè)核心Elasticsearch 默認(rèn)值 375 17.2.1 參數(shù)類型以及靜態(tài)參數(shù)和 動(dòng)態(tài)參數(shù)的區(qū)別 375 17.2.2 6個(gè)Elasticsearch集群級別 參數(shù)的關(guān)鍵默認(rèn)值 376 17.2.3 7個(gè)Elasticsearch索引級別 參數(shù)的關(guān)鍵默認(rèn)值 377 17.2.4 4個(gè)Elasticsearch映射級別 參數(shù)的關(guān)鍵默認(rèn)值 379 17.2.5 8個(gè)其他關(guān)鍵默認(rèn)值 380 17.3 Elasticsearch線程池和隊(duì)列 381 17.3.1 線程池簡介 382 17.3.2 線程池類型 383 17.3.3 線程池的基礎(chǔ)知識 383 17.3.4 隊(duì)列的基礎(chǔ)知識 384 17.3.5 線程池實(shí)戰(zhàn)問題及 注意事項(xiàng) 388 17.4 Elasticsearch熱點(diǎn)線程 389 17.4.1 熱點(diǎn)線程簡介 389 17.4.2 熱點(diǎn)線程支持的參數(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ī)模和容量的 預(yù)估方法 395 17.6 Elasticsearch Java客戶端 選型 398 17.6.1 官方Elasticsearch Java 客戶端 398 17.6.2 非官方Elasticsearch Java 客戶端 402 17.6.3 如何進(jìn)行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 為什么要進(jìn)行數(shù)據(jù)建!409 17.8.2 如何實(shí)現(xiàn)數(shù)據(jù)建模 411 17.9 利用JMeter進(jìn)行Elasticsearch 性能測試 420 17.9.1 Elasticsearch性能測試 工具 420 17.9.2 JMeter部署與啟動(dòng) 421 17.9.3 關(guān)于JMeter性能測試的 4點(diǎn)認(rèn)知 423 17.9.4 利用JMeter進(jìn)行Elasticsearch 8.X性能測試 424 17.9.5 JMeter性能測試與優(yōu)化 實(shí)戰(zhàn) 428 17.10 本章小結(jié) 431 第四部分 Elasticsearch項(xiàng)目實(shí)戰(zhàn) 第18章 Elasticsearch知識庫 檢索系統(tǒng)實(shí)戰(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)的實(shí)現(xiàn) 441 18.4.1 FSCrawler使用 步驟詳解 441 18.4.2 系統(tǒng)實(shí)現(xiàn)效果展示 443 18.4.3 數(shù)據(jù)統(tǒng)計(jì)可視化 445 18.5 本章小結(jié) 446 第19章 Elastic Stack大數(shù)據(jù) 可視化系統(tǒng)實(shí)戰(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è)計(jì) 448 19.3.1 影評數(shù)據(jù)獲取的可行性 分析 448 19.3.2 可分析的數(shù)據(jù)字段及其
你還可能感興趣
我要評論
|