關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
一本書(shū)講透Elasticsearch:原理、進(jìn)階與工程實(shí)踐 楊昌玉 著
這是一本關(guān)于Elasticsearch技術(shù)實(shí)戰(zhàn)的教程,全面覆蓋了Elastic Stack技術(shù)體系知識(shí),旨在幫助讀者深入了解Elasticsearch的核心技術(shù)和應(yīng)用場(chǎng)景,同時(shí)掌握分布式搜索與分析引擎的設(shè)計(jì)思想和實(shí)現(xiàn)原理。
(1)作者專業(yè)實(shí)力強(qiáng)勁:銘毅天下有10多年開(kāi)發(fā)工作經(jīng)驗(yàn),7年深耕Elastic Stack,博客累計(jì)閱讀量超1000萬(wàn),主導(dǎo)過(guò)PB級(jí)數(shù)據(jù)存儲(chǔ)與檢索系統(tǒng)項(xiàng)目,累計(jì)項(xiàng)目經(jīng)費(fèi)超千萬(wàn)。
(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人通過(guò)認(rèn)證考試,并將專家認(rèn)證考試全部考點(diǎn)融入本書(shū),有效提高應(yīng)試能力。 (3)內(nèi)容體系完善:圍繞Elasticsearch展開(kāi),覆蓋基礎(chǔ)知識(shí)、關(guān)聯(lián)技術(shù)、核心能力及最佳實(shí)踐,實(shí)戰(zhàn)知識(shí)庫(kù)檢索系統(tǒng)、大數(shù)據(jù)可視化系統(tǒng)、日志系統(tǒng)等業(yè)務(wù)場(chǎng)景,并添加大量圖解內(nèi)容,使核心知識(shí)點(diǎn)更易被理解和吸收。 (4)實(shí)戰(zhàn)性強(qiáng):融入作者多年Elastic Stack實(shí)戰(zhàn)開(kāi)發(fā)、咨詢經(jīng)驗(yàn),以及4年間與來(lái)自全球數(shù)百家企業(yè)的近2000名Elastic愛(ài)好者的實(shí)戰(zhàn)經(jīng)驗(yàn),深呈現(xiàn)高質(zhì)量實(shí)戰(zhàn)內(nèi)容。
Preface前 言
為什么要寫(xiě)這本書(shū) 當(dāng)今社會(huì),人工智能(AI)和大數(shù)據(jù)技術(shù)日新月異,大量數(shù)據(jù)的產(chǎn)生、分析和應(yīng)用已經(jīng)成為各個(gè)行業(yè)及各個(gè)領(lǐng)域的核心工作。對(duì)TB甚至PB級(jí)別的大數(shù)據(jù)進(jìn)行處理和檢索的業(yè)務(wù)需求不斷增加,使得企業(yè)及個(gè)人對(duì)高效的數(shù)據(jù)處理和檢索工具的需求越來(lái)越迫切。Elastic Stack提供了一系列強(qiáng)大而靈活的數(shù)據(jù)分析和檢索工具,受到廣泛關(guān)注。 然而,在市場(chǎng)上現(xiàn)有的關(guān)于Elastic Stack的書(shū)籍中,筆者發(fā)現(xiàn)了一些不足之處。首先,很多國(guó)外翻譯書(shū)籍過(guò)度依賴舊版本Elasticsearch,如Elasticsearch 1.X、2.X、5.X等,導(dǎo)致部分案例不再適用,給讀者的實(shí)際操作帶來(lái)困難。其次,無(wú)論國(guó)內(nèi)還是國(guó)外的書(shū)籍,都過(guò)于關(guān)注API,而忽略了實(shí)戰(zhàn)場(chǎng)景和原理解讀,使得讀者缺乏對(duì)原理的深刻理解,遇到問(wèn)題時(shí)無(wú)法獨(dú)立思考解決,也難以建立完整的知識(shí)體系。這類書(shū)只能“授人以魚(yú)”,不能“授人以漁”。 與此同時(shí),盡管借助近期熱門的ChatGPT等大模型AI工具,我們可以在一定程度上提高對(duì)Elasticsearch的學(xué)習(xí)效率,但這些工具仍存在局限,例如:知識(shí)更新滯后,無(wú)法及時(shí)提供最新版本Elasticsearch的相關(guān)知識(shí);提供的內(nèi)容體系不夠系統(tǒng)和完整;基于實(shí)戰(zhàn)經(jīng)驗(yàn)的內(nèi)容不足,難以提供針對(duì)實(shí)際問(wèn)題的解決方案;交互性有限,不能有效地解答切身問(wèn)題;缺乏個(gè)性化的學(xué)習(xí)路徑。 本書(shū)旨在彌補(bǔ)這些書(shū)籍和工具的能力欠缺,實(shí)現(xiàn)以下目標(biāo)。 以實(shí)戰(zhàn)為核心:結(jié)合項(xiàng)目和產(chǎn)品開(kāi)發(fā)實(shí)戰(zhàn)場(chǎng)景,透徹講解概念,深入解讀相關(guān)原理。 建立完整知識(shí)體系:對(duì)技術(shù)點(diǎn)進(jìn)行深入剖析和旁征博引,以實(shí)現(xiàn)更高級(jí)的“授人以漁”的目標(biāo)。 適用于各層次讀者:在提高Elasticsearch初學(xué)者的認(rèn)知的同時(shí)滿足中高級(jí)讀者的進(jìn)階需求。 此外,本書(shū)將關(guān)注主流的Elasticsearch 8.X版本,確保讀者在實(shí)際操作中不會(huì)遇到版本上的困難。 從宏觀和社會(huì)責(zé)任角度出發(fā),本書(shū)力求解決行業(yè)現(xiàn)有問(wèn)題,為Elastic Stack技術(shù)的普及和應(yīng)用貢獻(xiàn)力量。 讀者對(duì)象 本書(shū)面向不同層次的Elastic Stack學(xué)習(xí)者和從業(yè)者,為各類讀者提供翔實(shí)、豐富的內(nèi)容。以下是本書(shū)的主要讀者對(duì)象。 Elastic Stack初學(xué)者、初級(jí)開(kāi)發(fā)/運(yùn)維工程師 本書(shū)致力于幫助初學(xué)者及初級(jí)工程師全面掌握Elastic Stack尤其是Elasticsearch的技術(shù)體系。本書(shū)詳盡介紹了Elasticsearch的核心概念、應(yīng)用場(chǎng)景以及問(wèn)題解決能力,通過(guò)閱讀本書(shū),初級(jí)工程師將能迅速上手部署日志分析或全文檢索環(huán)境,并應(yīng)對(duì)開(kāi)發(fā)和運(yùn)維過(guò)程中可能遇到的挑戰(zhàn)。 中級(jí)開(kāi)發(fā)/運(yùn)維工程師 具備一定Elastic Stack基礎(chǔ)的中級(jí)工程師,可通過(guò)本書(shū)鞏固基礎(chǔ)知識(shí),并深入探究Elasticsearch的底層原理。在項(xiàng)目或產(chǎn)品實(shí)戰(zhàn)中,中級(jí)工程師可借助本書(shū)加強(qiáng)自身認(rèn)知,規(guī)避實(shí)際開(kāi)發(fā)和運(yùn)維過(guò)程中不必要的彎路。同時(shí),本書(shū)全面覆蓋了Elasticsearch認(rèn)證考試的關(guān)鍵考點(diǎn),有助于中級(jí)開(kāi)發(fā)/運(yùn)維工程師順利通過(guò)Elastic認(rèn)證(ECE認(rèn)證)專家考試。 Elastic Stack發(fā)燒友、資深開(kāi)發(fā)/運(yùn)維工程師和架構(gòu)師 本書(shū)深入剖析了Elasticsearch的底層架構(gòu)、原理及最佳實(shí)踐,以幫助資深工程師和架構(gòu)師更高效地運(yùn)用所學(xué)知識(shí),提升項(xiàng)目實(shí)踐能力。另外,通過(guò)本書(shū),這部分讀者能將理論知識(shí)與實(shí)戰(zhàn)經(jīng)驗(yàn)融會(huì)貫通,更好地應(yīng)用于實(shí)際項(xiàng)目之中。 總之,本書(shū)旨在為各階段的Elastic Stack學(xué)習(xí)者和實(shí)踐者提供專業(yè)、系統(tǒng)、實(shí)用的內(nèi)容,以幫助他們提升技能水平、拓寬知識(shí)視野,為進(jìn)一步的學(xué)習(xí)和應(yīng)用奠定堅(jiān)實(shí)基礎(chǔ)。 本書(shū)特色 1)融入豐富的實(shí)戰(zhàn)經(jīng)驗(yàn):本書(shū)融入了筆者8年以上的 Elastic Stack實(shí)戰(zhàn)開(kāi)發(fā)、咨詢經(jīng)驗(yàn)(累計(jì)項(xiàng)目經(jīng)費(fèi)超過(guò)1000萬(wàn)元),以及4年間來(lái)自全球數(shù)百家企業(yè)的近2000名Elastic愛(ài)好者的實(shí)戰(zhàn)經(jīng)驗(yàn),深入探討技術(shù)本質(zhì),呈現(xiàn)了有用、有價(jià)值的高質(zhì)量?jī)?nèi)容。 2)輔以大量的圖解:在講解透徹的前提下,本書(shū)添加了大量圖解內(nèi)容,使核心知識(shí)點(diǎn)更易被讀者理解和吸收。 3)全面覆蓋Elastic認(rèn)證考試的考點(diǎn):本書(shū)覆蓋了Elastic認(rèn)證考試的所有考點(diǎn),且基于筆者所積累的寶貴考試經(jīng)驗(yàn)編寫(xiě)而成(筆者已成功帶領(lǐng)近150位工程師通過(guò)Elastic認(rèn)證專家考試,占國(guó)內(nèi)總通過(guò)人數(shù)的一半以上),能有效助力各層次讀者建立Elasticsearch體系化認(rèn)知。 4)提供實(shí)戰(zhàn)項(xiàng)目:本書(shū)涵蓋3個(gè)實(shí)戰(zhàn)項(xiàng)目,以實(shí)踐鞏固基礎(chǔ)原理,助力讀者迅速將技能應(yīng)用到企業(yè)實(shí)戰(zhàn)環(huán)境中。 5)作者資歷深厚:作者擁有多年架構(gòu)、開(kāi)發(fā)實(shí)戰(zhàn)經(jīng)驗(yàn),長(zhǎng)期活躍于Elastic中文社區(qū)、CSDN等平臺(tái),具有累計(jì)閱讀量超1000萬(wàn)博客和近2000人的付費(fèi)社群,在行業(yè)內(nèi)具有較高的知名度和影響力。 如何閱讀本書(shū) 本書(shū)分為四大部分,共20章,全面講解了Elastic Stack技術(shù)體系,深入剖析了Elasticsearch的基礎(chǔ)概念、核心技術(shù)、進(jìn)階知識(shí)以及實(shí)戰(zhàn)案例,讓讀者真正掌握其原理及實(shí)現(xiàn)。 第一部分 Elastic Stack全局概覽 這一部分(第1~3章)對(duì)Elastic Stack技術(shù)體系進(jìn)行全局性探討,涉及Elasticsearch的演進(jìn)歷程、Elastic Stack的各個(gè)組成部分及主要應(yīng)用場(chǎng)景,并且將Elasticsearch與其主要競(jìng)爭(zhēng)對(duì)手進(jìn)行比較。然后,討論搜索引擎的基礎(chǔ)知識(shí),并初步探索了Elasticsearch的核心概念,如集群、節(jié)點(diǎn)、索引等。最后,詳細(xì)介紹Elasticsearch單節(jié)點(diǎn)、多節(jié)點(diǎn)集群部署,以及Kibana部署等內(nèi)容。
楊昌玉(銘毅天下)
10多年工作經(jīng)驗(yàn)的高級(jí)工程師,擅長(zhǎng)大數(shù)據(jù)存儲(chǔ)和檢索。 曾任職于上市公司、科研院所等,主導(dǎo)過(guò)PB級(jí)數(shù)據(jù)存儲(chǔ)與檢索系統(tǒng)項(xiàng)目,擁有多年Elasticsearch培訓(xùn)及咨詢經(jīng)驗(yàn)。Elastic認(rèn)證專家、Elasticsearch中國(guó)合作培訓(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萬(wàn),并被阿里云、騰訊云、華為云、360doc、51CTO等知名媒體平臺(tái)全量轉(zhuǎn)載,在CSDN 2013年及2016年的博客征文大賽中獲特等獎(jiǎng)!八揽腅lasticsearch”知識(shí)星球發(fā)起人,擁有近2000名付費(fèi)用戶!般懸闾煜翬lasticsearch”公眾號(hào)及博客總計(jì)擁有近5萬(wàn)名關(guān)注者。成功指導(dǎo)近200人通過(guò)Elastic認(rèn)證專家考試。
目 錄Contents
贊 譽(yù) 前 言 第一部分 Elastic Stack全局概覽 第1章 Elastic Stack全景 2 1.1 Elasticsearch的過(guò)去、 現(xiàn)在和未來(lái) 3 1.1.1 Elasticsearch的過(guò)去 3 1.1.2 Elasticsearch的現(xiàn)在 5 1.1.3 Elasticsearch的未來(lái) 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)用場(chǎng)景 9 1.3.1 全文檢索場(chǎng)景 10 1.3.2 日志分析場(chǎng)景 10 1.3.3 商業(yè)智能場(chǎng)景 10 1.4 Elasticsearch競(jìng)品分析 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ǔ)知識(shí) 14 2.1 搜索引擎基礎(chǔ)知識(shí) 14 2.1.1 搜索引擎的目標(biāo) 14 2.1.2 搜索引擎的核心要求 15 2.1.3 檢索質(zhì)量的評(píng)價(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ǔ)知識(shí) 25 3.1.1 集群部署平臺(tái)及操作 系統(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的極簡(jiǎn)部署 37 3.2.1 Elasticsearch單節(jié)點(diǎn) 集群極簡(jiǎn)部署 37 3.2.2 Kibana極簡(jiǎn)部署 40 3.3 Elasticsearch單節(jié)點(diǎn)集群與 Kibana的自定義證書(shū)部署 42 3.3.1 Elasticsearch單節(jié)點(diǎn) 集群自定義證書(shū)部署 43 3.3.2 Kibana自定義證書(shū)部署 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ù)庫(kù)看索引 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)用的常見(jiàn)問(wèn)題 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)用的常見(jiàn)問(wèn)題 66 4.5 本章小結(jié) 66 第5章 Elasticsearch映射 68 5.1 映射的定義 68 5.1.1 認(rèn)識(shí)映射 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)識(shí)Join類型 83 5.3.2 Join類型基礎(chǔ)實(shí)戰(zhàn) 83 5.3.3 Join類型一對(duì)多實(shí)戰(zhàn) 86 5.4 Flattened類型及應(yīng)用 89 5.4.1 Elasticsearch字段膨脹問(wèn)題 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)方案對(duì)比 95 5.6 內(nèi)部數(shù)據(jù)結(jié)構(gòu)解讀 96 5.6.1 數(shù)據(jù)存儲(chǔ)的基礎(chǔ)知識(shí) 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)識(shí)分詞 108 6.2 為什么需要分詞 109 6.3 分詞發(fā)生的階段 109 6.3.1 寫(xiě)入數(shù)據(jù)階段 109 6.3.2 執(zhí)行檢索階段 109 6.4 分詞器的組成 110 6.4.1 字符過(guò)濾 110 6.4.2 文本切分為分詞 111 6.4.3 分詞后再過(guò)濾 111 6.5 分詞器的分類 112 6.6 特定業(yè)務(wù)場(chǎng)景的 自定義分詞案例 113 6.6.1 實(shí)戰(zhàn)問(wè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)問(wè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)的常見(jiàn)問(wè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)識(shí)Elasticsearch腳本 156 9.1.1 Elasticsearch腳本的背景 156 9.1.2 Painless腳本語(yǔ)言簡(jiǎn)介 157 9.2 Elasticsearch腳本的應(yīng)用 場(chǎng)景和模板 158 9.3 Elasticsearch腳本實(shí)戰(zhàn) 158 9.3.1 自定義字段 158 9.3.2 自定義評(píng)分 159 9.3.3 自定義更新 159 9.3.4 自定義reindex 160 9.3.5 自定義聚合 161 9.3.6 實(shí)戰(zhàn)常見(jiàn)問(wè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 高亮、排序和分頁(yè) 186 10.2.1 高亮 186 10.2.2 排序 188 10.2.3 分頁(yè) 190 10.3 自定義評(píng)分 191 10.3.1 搜索結(jié)果相關(guān)度與 自定義評(píng)分的關(guān)系 191 10.3.2 控制Elasticsearch 相關(guān)度 192 10.3.3 計(jì)算相關(guān)度評(píng)分 192 10.3.4 影響相關(guān)度評(píng)分的 查詢子句 193 10.3.5 自定義評(píng)分定義 193 10.4 檢索模板 199 10.4.1 檢索模板基礎(chǔ)知識(shí) 199 10.4.2 檢索模板實(shí)戰(zhàn)問(wèn)題及 解決方案 201 10.5 深度解讀Elasticsearch 分頁(yè)查詢 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)用場(chǎng)景 226 11.2 聚合后分頁(yè)的新實(shí)現(xiàn): 組合聚合 226 11.2.1 認(rèn)識(shí)組合聚合 227 11.2.2 組合聚合的應(yīng)用場(chǎng)景 230 11.2.3 組合聚合的核心功能 230 11.2.4 利用組合聚合進(jìn)行 聚合后分頁(yè)實(shí)戰(zhàn) 231 11.3 通過(guò)子聚合求解環(huán)比問(wèn)題 233 11.3.1 parent子聚合和sibling 子聚合詳解 234 11.3.2 環(huán)比問(wèn)題拆解 237 11.3.3 環(huán)比問(wèn)題求解實(shí)現(xiàn) 237 11.3.4 bucket相關(guān)子聚合的 常見(jiàn)問(wè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)識(shí)冷熱集群架構(gòu) 245 12.1.2 冷熱集群架構(gòu)的 應(yīng)用場(chǎng)景 246 12.1.3 冷熱集群架構(gòu)的優(yōu)勢(shì) 247 12.1.4 冷熱集群架構(gòu)實(shí)戰(zhàn) 247 12.2 索引生命周期管理 249 12.2.1 認(rèn)識(shí)索引生命周期 249 12.2.2 索引生命周期管理的 歷史演變 249 12.2.3 索引生命周期管理的 基礎(chǔ)知識(shí) 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 常見(jiàn)的索引/ 集群的備份與恢復(fù)方案 264 12.4.2 Elasticsearch快照和 恢復(fù)功能 265 12.4.3 elasticdump遷移 268 12.5 快照生命周期管理 269 12.5.1 認(rèn)識(shí)快照生命周期 270 12.5.2 快照生命周期管理實(shí)現(xiàn) 270 12.5.3 恢復(fù)快照 274 12.5.4 快照生命周期 管理的常見(jiàn)命令 275 12.5.5 通過(guò)Kibana圖形化界面 進(jìn)行快照生命周期管理 277 12.6 跨集群檢索 279 12.6.1 跨集群檢索定義 279 12.6.2 跨集群檢索實(shí)戰(zhàn) 279 12.6.3 跨集群檢索優(yōu)勢(shì) 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è)置或重置賬號(hào)和密碼 286 13.2 定義基于角色的訪問(wèn)控制 287 13.3 如何安全使用Elasticsearch 腳本 290 13.3.1 Elasticsearch安全原則 290 13.3.2 腳本類型細(xì)分 290 13.3.3 腳本分級(jí)限制 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ǔ) 知識(shí) 317 14.5.2 最低級(jí)別日志能否輸出 檢索語(yǔ)句 319 14.5.3 Elasticsearch slowlog的 常見(jiàn)問(wèn)題 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 常見(jiàn)的并發(fā)控制策略 331 15.1.5 如何解決或避免Elasticsearch文檔版本沖突 332 15.2 Elasticsearch文檔更新/ 刪除的原理 336 15.2.1 更新/刪除操作時(shí)文檔 版本號(hào)的變化 337 15.2.2 文檔刪除、索引刪除和 文檔更新的本質(zhì) 338 15.2.3 文檔更新/刪除的 常見(jiàn)問(wèn)題 339 15.3 Elasticsearch寫(xiě)入的原理 341 15.3.1 Elasticsearch寫(xiě)入的核心 概念 342 15.3.2 Elasticsearch寫(xiě)入的實(shí)現(xiàn) 流程 343 15.3.3 Elasticsearch refresh和 flush操作 344 15.4 Elasticsearch段合并的原理 345 15.4.1 段的基礎(chǔ)知識(shí) 345 15.4.2 什么是段合并 346 15.4.3 為什么要進(jìn)行段合并 346 15.4.4 段合并的潛在問(wèn)題 346 15.4.5 段合并問(wèn)題的 優(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寫(xiě)入優(yōu)化 357 16.3.1 寫(xiě)入優(yōu)化建議 357 16.3.2 寫(xiě)入過(guò)程監(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 常見(jiàn)分片問(wèn)題 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集群級(jí)別 參數(shù)的關(guān)鍵默認(rèn)值 376 17.2.3 7個(gè)Elasticsearch索引級(jí)別 參數(shù)的關(guān)鍵默認(rèn)值 377 17.2.4 4個(gè)Elasticsearch映射級(jí)別 參數(shù)的關(guān)鍵默認(rèn)值 379 17.2.5 8個(gè)其他關(guān)鍵默認(rèn)值 380 17.3 Elasticsearch線程池和隊(duì)列 381 17.3.1 線程池簡(jiǎn)介 382 17.3.2 線程池類型 383 17.3.3 線程池的基礎(chǔ)知識(shí) 383 17.3.4 隊(duì)列的基礎(chǔ)知識(shí) 384 17.3.5 線程池實(shí)戰(zhàn)問(wèn)題及 注意事項(xiàng) 388 17.4 Elasticsearch熱點(diǎn)線程 389 17.4.1 熱點(diǎn)線程簡(jiǎ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 性能測(cè)試 420 17.9.1 Elasticsearch性能測(cè)試 工具 420 17.9.2 JMeter部署與啟動(dòng) 421 17.9.3 關(guān)于JMeter性能測(cè)試的 4點(diǎn)認(rèn)知 423 17.9.4 利用JMeter進(jìn)行Elasticsearch 8.X性能測(cè)試 424 17.9.5 JMeter性能測(cè)試與優(yōu)化 實(shí)戰(zhàn) 428 17.10 本章小結(jié) 431 第四部分 Elasticsearch項(xiàng)目實(shí)戰(zhàn) 第18章 Elasticsearch知識(shí)庫(kù) 檢索系統(tǒng)實(shí)戰(zhàn) 434 18.1 知識(shí)庫(kù)檢索系統(tǒng)的 需求分析 434 18.2 知識(shí)庫(kù)檢索系統(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 知識(shí)庫(kù)檢索系統(tǒng)的 技術(shù)架構(gòu) 440 18.4 知識(shí)庫(kù)檢索系統(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 影評(píng)數(shù)據(jù)獲取的可行性 分析 448 19.3.2 可分析的數(shù)據(jù)字段及其
你還可能感興趣
我要評(píng)論
|