幫助中心 | 我的帳號 | 關於我們

一本書講透Elasticsearch(原理進階與工程實踐)/程序員開發寶典系列

  • 作者:楊昌玉|責編:楊福川
  • 出版社:機械工業
  • ISBN:9787111740353
  • 出版日期:2024/01/01
  • 裝幀:平裝
  • 頁數:483
人民幣:RMB 129 元      售價:
放入購物車
加入收藏夾

內容大鋼
    這是一本關於Elasticsearch技術實戰的教程,全面覆蓋了Elastic Stack技術體系知識,旨在幫助讀者深入了解Elasticsearch的核心技術和應用場景,同時掌握分散式搜索與分析引擎的設計思想和實現原理。
    本書共20章,分為4大部分:
    第一部分Elastic Stack全局概覽:主要討論Elastic Stack的重要組成部分與應用場景,以及Elasticsearch的獨特優勢。同時,初步探索搜索引擎的基礎知識及Elasticsearch的核心概念,如集群、節點、索引等。最後,詳細介紹Elasticsearch單節點、多節點集群部署以及Kibana部署等內容。
    第二部分Elasticsearch核心技術:從底層原理和實現方法兩個層面切入,深入解讀索引、映射、分詞、數據預處理、文檔、腳本、檢索、聚合、集群、安全和運維等核心技術。
    第三部分Elasticsearch進階指南:主要討論Elasticsearch各關鍵操作的基本原理、性能優化方案及實戰「避坑」指南等進階話題。不僅對文檔版本衝突及併發控制策略,以及更新/刪除、寫入、段合併、檢索等常見操作實現提供了解決方案,還從通用、寫入、檢索3個維度提供了性能優化建議,並且討論了分片、線程池和隊列、熱點線程、集群規劃、客戶端選型、緩存、數據建模、性能測試等熱點技術,提供了Elasticsearch的應用場景和優化方法,為企業級實戰保駕護航。
    第四部分Elasticsearch項目實戰:帶領讀者實戰Elasticsearch的三大核心業務場景——知識庫檢索系統、大數據可視化系統、日誌系統,融會貫通理論知識和實踐技能。

作者介紹
楊昌玉|責編:楊福川
    楊昌玉(銘毅天下),10多年工作經驗的高級工程師,擅長大數據存儲和檢索。     曾任職于上市公司、科研院所等,主導過PB級數據存儲與檢索系統項目,擁有多年Elasticsearch培訓及咨詢經驗。     Elastic認證專家、Elasticsearch中國合作培訓講師、Elasticsearch 中文社區2018年、2023年傑出貢獻獎(排名Top5)獲得者、阿里雲MVP (大數據領域最有價值專家)、CSDN博客專家(排名Top150)CSDN 2020年度優秀創作者。     博客累計閱讀量超1000萬,並被阿里雲、騰訊雲、華為雲、360doc、51CTO等知名媒體平台全量轉載,在CSDN 2013年及2016年的博客徵文大賽中獲特等獎。     「死磕Elasticsearch」知識星球發起人,擁有近2000名付費用戶。「銘毅天下Elasticsearch」公眾號及博客總計擁有近5萬名關注者。成功指導近200人通過Elastic認證專家考試。

目錄
讚譽
前言
第一部分  Elastic Stack全局概覽
  第1章  Elastic Stack全景
    1.1  Elasticsearch的過去、現在和未來
      1.1.1  Elasticsearch的過去
      1.1.2  Elasticsearch的現在
      1.1.3  Elasticsearch的未來
    1.2  Elastic Stack組成
      1.2.1  Elasticsearch概覽
      1.2.2  Logstash概覽
      1.2.3  Kibana概覽
      1.2.4  Beats概覽
    1.3  Elastic Stack的應用場景
      1.3.1  全文檢索場景
      1.3.2  日誌分析場景
      1.3.3  商業智能場景
    1.4  Elasticsearch競品分析
      1.4.1  Apache Solr
      1.4.2  Splunk
      1.4.3  OpenSearch
      1.4.4  Doris
      1.4.5  ClickHouse
    1.5  本章小結
  第2章  Elasticsearch基礎知識
    2.1  搜索引擎基礎知識
      2.1.1  搜索引擎的目標
      2.1.2  搜索引擎的核心要求
      2.1.3  檢索質量的評價指標
      2.1.4  倒排索引
      2.1.5  全文檢索
    2.2  Elasticsearch的核心概念
      2.2.1  集群
      2.2.2  節點
      2.2.3  索引
      2.2.4  分片
      2.2.5  副本
      2.2.6  文檔
      2.2.7  欄位
      2.2.8  映射
      2.2.9  分詞
    2.3  本章小結
  第3章  Elasticsearch集群部署
    3.1  Elastic Stack集群部署基礎知識
      3.1.1  集群部署平台及操作系統的選型
      3.1.2  集群部署的主要步驟
      3.1.3  Elasticsearch集群堆內存設置
      3.1.4  Elasticsearch集群節點角色劃分
      3.1.5  Elasticsearch集群核心配置解讀
    3.2  Elasticsearch單節點集群與Kibana的極簡部署

      3.2.1  Elasticsearch單節點集群極簡部署
      3.2.2  Kibana極簡部署
    3.3  Elasticsearch單節點集群與Kibana的自定義證書部署
      3.3.1  Elasticsearch單節點集群自定義證書部署
      3.3.2  Kibana自定義證書部署
    3.4  Elasticsearch多節點集群部署
    3.5  Kibana自帶樣例數據導入
    3.6  本章小結
第二部分  Elasticsearch核心技術
  第4章  Elasticsearch索引
    4.1  索引的定義
      4.1.1  類比關係型資料庫看索引
      4.1.2  索引定義的實現
    4.2  索引操作
      4.2.1  新增/創建索引
      4.2.2  刪除索引
      4.2.3  修改索引
      4.2.4  查詢索引
    4.3  索引別名
      4.3.1  別名的定義
      4.3.2  別名的實現
      4.3.3  別名應用的常見問題
    4.4  索引模板
      4.4.1  索引模板的定義
      4.4.2  索引模板的基礎操作
      4.4.3  動態模板實戰
      4.4.4  索引模板應用的常見問題
    4.5  本章小結
  第5章  Elasticsearch映射
    5.1  映射的定義
      5.1.1  認識映射
      5.1.2  元欄位
      5.1.3  數據類型
      5.1.4  映射類型
      5.1.5  實戰:映射創建后還可以更新嗎
    5.2  Nested類型及應用
      5.2.1  Nested類型的定義
      5.2.2  Nested類型的操作
    5.3  Join類型及應用
      5.3.1  認識Join類型
      5.3.2  Join類型基礎實戰
      5.3.3  Join類型一對多實戰
    5.4  Flattened類型及應用
      5.4.1  Elasticsearch欄位膨脹問題
      5.4.2  Flattened類型的產生背景
      5.4.3  Flattened類型實戰
      5.4.4  Flattened類型的不足
    5.5  多表關聯設計
      5.5.1  Elasticsearch多表關聯方案
      5.5.2  多表關聯方案對比

    5.6  內部數據結構解讀
      5.6.1  數據存儲的基礎知識
      5.6.2  倒排索引
      5.6.3  正排索引
      5.6.4  fielddata
      5.6.5  _source欄位
      5.6.6  store欄位
    5.7  詳解null_value
      5.7.1  null_value的含義
      5.7.2  null_value使用的注意事項
      5.7.3  支持null_value的核心欄位
    5.8  本章小結
  第6章  Elasticsearch分詞
    6.1  認識分詞
    6.2  為什麼需要分詞
    6.3  分詞發生的階段
      6.3.1  寫入數據階段
      6.3.2  執行檢索階段
    6.4  分詞器的組成
      6.4.1  字元過濾
      6.4.2  文本切分為分詞
      6.4.3  分詞后再過濾
    6.5  分詞器的分類
    6.6  特定業務場景的自定義分詞案例
      6.6.1  實戰問題拆解
      6.6.2  實現方案
      6.6.3  結果驗證
    6.7  Ngram自定義分詞案例
      6.7.1  實戰問題拆解
      6.7.2  Ngram分詞器定義
      6.7.3  Ngram分詞實戰
      6.7.4  Ngram分詞選型的注意事項
    6.8  本章小結
  第7章  Elasticsearch預處理
    7.1  預處理定義
    7.2  預處理器分類
    7.3  預處理實現
    7.4  預處理實戰案例
      7.4.1  字元串切分預處理
      7.4.2  字元串轉JSON格式
      7.4.3  列表操作
      7.4.4  enrich預處理
      7.4.5  預處理實戰的常見問題
    7.5  本章小結
  第8章  Elasticsearch文檔
    8.1  新增文檔
      8.1.1  文檔ID
      8.1.2  新增單個文檔
      8.1.3  新增批量文檔
    8.2  刪除文檔

      8.2.1  單個文檔刪除
      8.2.2  批量文檔刪除
    8.3  修改/更新文檔
      8.3.1  更新文檔的前置條件
      8.3.2  單個文檔部分更新
      8.3.3  全部文檔更新
      8.3.4  批量文檔更新
      8.3.5  取消更新
    8.4  reindex:遷移文檔
      8.4.1  reindex操作的背景及定義
      8.4.2  同集群索引之間的全量數據遷移
      8.4.3  同集群索引之間基於特定條件的數據遷移
      8.4.4  不同集群索引之間的數據遷移
      8.4.5  查看及取消reindex任務
      8.4.6  業務零掉線情況下的數據遷移
    8.5  本章小結
  第9章  Elasticsearch腳本
    9.1  認識Elasticsearch腳本
      9.1.1  Elasticsearch腳本的背景
      9.1.2  Painless腳本語言簡介
    9.2  Elasticsearch腳本的應用場景和模板
    9.3  Elasticsearch腳本實戰
      9.3.1  自定義欄位
      9.3.2  自定義評分
      9.3.3  自定義更新
      9.3.4  自定義reindex
      9.3.5  自定義聚合
      9.3.6  實戰常見問題
    9.4  本章小結
  第10章  Elasticsearch檢索
    10.1  檢索選型指南
      10.1.1  Elasticsearch檢索分類
      10.1.2  精準匹配檢索和全文檢索的本質區別
      10.1.3  精準匹配檢索詳解
      10.1.4  全文檢索類型詳解
      10.1.5  組合檢索類型詳解
      10.1.6  query和filter的區別
    10.2  高亮、排序和分頁
      10.2.1  高亮
      10.2.2  排序
      10.2.3  分頁
    10.3  自定義評分
      10.3.1  搜索結果相關度與自定義評分的關係
      10.3.2  控制Elasticsearch相關度
      10.3.3  計算相關度評分
      10.3.4  影響相關度評分的查詢子句
      10.3.5  自定義評分定義
    10.4  檢索模板
      10.4.1  檢索模板基礎知識
      10.4.2  檢索模板實戰問題及解決方案

    10.5  深度解讀Elasticsearch分頁查詢
      10.5.1  from + size查詢
      10.5.2  search_after查詢
      10.5.3  scroll查詢
    10.6  本章小結
  第11章  Elasticsearch聚合
    11.1  圖解聚合
      11.1.1  數據源
      11.1.2  聚合分類
      11.1.3  聚合應用場景
    11.2  聚合後分頁的新實現:組合聚合
      11.2.1  認識組合聚合
      11.2.2  組合聚合的應用場景
      11.2.3  組合聚合的核心功能
      11.2.4  利用組合聚合進行聚合後分頁實戰
    11.3  通過子聚合求解環比問題
      11.3.1  parent子聚合和sibling子聚合詳解
      11.3.2  環比問題拆解
      11.3.3  環比問題求解實現
      11.3.4  bucket相關子聚合的常見問題
    11.4  Elasticsearch去重
      11.4.1  去重需求分析
      11.4.2  去重需求實現
    11.5  本章小結
  第12章   Elasticsearch集群
    12.1  冷熱集群架構
      12.1.1  認識冷熱集群架構
      12.1.2  冷熱集群架構的應用場景
      12.1.3  冷熱集群架構的優勢
      12.1.4  冷熱集群架構實戰
    12.2  索引生命周期管理
      12.2.1  認識索引生命周期
      12.2.2  索引生命周期管理的歷史演變
      12.2.3  索引生命周期管理的基礎知識
      12.2.4  索引生命周期管理的核心概念
      12.2.5  索引生命周期管理實戰:DSL命令行
      12.2.6  索引生命周期管理實戰:Kibana圖形化界面
    12.3  跨機房、跨機架部署
      12.3.1  跨機房、跨機架部署要求
      12.3.2  跨機房、跨機架部署實戰
    12.4  集群/索引的備份與恢復
      12.4.1  常見的索引/集群的備份與恢復方案
      12.4.2  Elasticsearch快照和恢復功能
      12.4.3  elasticdump遷移
    12.5  快照生命周期管理
      12.5.1  認識快照生命周期
      12.5.2  快照生命周期管理實現
      12.5.3  恢復快照
      12.5.4  快照生命周期管理的常見命令
      12.5.5  通過Kibana圖形化界面進行快照生命周期管理

    12.6  跨集群檢索
      12.6.1  跨集群檢索定義
      12.6.2  跨集群檢索實戰
      12.6.3  跨集群檢索優勢
    12.7  本章小結
  第13章  Elasticsearch安全
    13.1  集群安全基礎
      13.1.1  Elasticsearch如何保障安全
      13.1.2  Elasticsearch X-Pack安全配置
      13.1.3  設置或重置賬號和密碼
    13.2  定義基於角色的訪問控制
    13.3  如何安全使用Elasticsearch腳本
      13.3.1  Elasticsearch安全原則
      13.3.2  腳本類型細分
      13.3.3  腳本分級限制
      13.3.4  控制腳本的可用範圍
    13.4  本章小結
  第14章  Elasticsearch運維
    14.1  Elasticsearch集群監控的維度及指標
      14.1.1  5個重要監控維度
      14.1.2  10個核心監控指標
    14.2  集群故障排查及修復指南
      14.2.1  集群健康狀態的解讀
      14.2.2  如何定位紅色或黃色的索引
    14.3  運維及故障診斷的常用命令
    14.4  Elasticsearch監控指標可視化
      14.4.1  Elasticsearch監控的前置條件
      14.4.2  Metricbeat安裝及Kibana可視化
    14.5  Elasticsearch日誌
      14.5.1  Elasticsearch日誌基礎知識
      14.5.2  最低級別日誌能否輸出檢索語句
      14.5.3  Elasticsearch slowlog的常見問題
    14.6  本章小結
第三部分  Elasticsearch進階指南
  第15章  Elasticsearch核心工作原理
    15.1  Elasticsearch文檔版本的應用原理
      15.1.1  文檔版本控制機制的產生背景
      15.1.2  Elasticsearch文檔版本定義
      15.1.3  Elasticsearch文檔版本衝突
      15.1.4  常見的併發控制策略
      15.1.5  如何解決或避免Elasticsearch文檔版本衝突
    15.2  Elasticsearch文檔更新/刪除的原理
      15.2.1  更新/刪除操作時文檔版本號的變化
      15.2.2  文檔刪除、索引刪除和文檔更新的本質
      15.2.3  文檔更新/刪除的常見問題
    15.3  Elasticsearch寫入的原理
      15.3.1  Elasticsearch寫入的核心概念
      15.3.2  Elasticsearch寫入的實現流程
      15.3.3  Elasticsearch refresh和flush操作
    15.4  Elasticsearch段合併的原理

      15.4.1  段的基礎知識
      15.4.2  什麼是段合併
      15.4.3  為什麼要進行段合併
      15.4.4  段合併的潛在問題
      15.4.5  段合併問題的優化建議
    15.5  Elasticsearch檢索的原理
    15.6  本章小結
  第16章  Elasticsearch性能優化
    16.1  Elasticsearch性能指標
    16.2  Elasticsearch通用的性能優化建議
    16.3  Elasticsearch寫入優化
      16.3.1  寫入優化建議
      16.3.2  寫入過程監控
    16.4  Elasticsearch檢索優化
      16.4.1  全量數據和大文檔處理的優化建議
      16.4.2  數據建模層面的優化建議
      16.4.3  檢索方法層面的優化建議
      16.4.4  性能優化的DSL命令行
    16.5  本章小結
  第17章  Elasticsearch實戰「避坑」指南
    17.1  Elasticsearch分片
      17.1.1  常見分片問題
      17.1.2  分片大小如何影響性能
      17.1.3  分片及副本設置建議
    17.2  25個核心Elasticsearch默認值
      17.2.1  參數類型以及靜態參數和動態參數的區別
      17.2.2  6個Elasticsearch集群級別參數的關鍵默認值
      17.2.3  7個Elasticsearch索引級別參數的關鍵默認值
      17.2.4  4個Elasticsearch映射級別參數的關鍵默認值
      17.2.5  8個其他關鍵默認值
    17.3  Elasticsearch線程池和隊列
      17.3.1  線程池簡介
      17.3.2  線程池類型
      17.3.3  線程池的基礎知識
      17.3.4  隊列的基礎知識
      17.3.5  線程池實戰問題及注意事項
    17.4  Elasticsearch熱點線程
      17.4.1  熱點線程簡介
      17.4.2  熱點線程支持的參數
      17.4.3  hot_threads API的應用原理
      17.4.4  hot_threads API的返回結果
    17.5  規劃Elasticsearch集群規模和容量
      17.5.1  Elasticsearch基礎架構
      17.5.2  維繫Elasticsearch高性能的4種資源
      17.5.3  集群規模和容量的預估方法
    17.6  Elasticsearch Java客戶端選型
      17.6.1  官方Elasticsearch Java客戶端
      17.6.2  非官方Elasticsearch Java客戶端
      17.6.3  如何進行Elasticsearch Java客戶端選型
    17.7  Elasticsearch緩存

      17.7.1  Elasticsearch緩存分類
      17.7.2  查詢與清理緩存
    17.8  Elasticsearch數據建模
      17.8.1  為什麼要進行數據建模
      17.8.2  如何實現數據建模
    17.9  利用JMeter進行Elasticsearch性能測試
      17.9.1  Elasticsearch性能測試工具
      17.9.2  JMeter部署與啟動
      17.9.3  關於JMeter性能測試的4點認知
      17.9.4  利用JMeter進行Elasticsearch 8.X性能測試
      17.9.5  JMeter性能測試與優化實戰
    17.10  本章小結
第四部分  Elasticsearch項目實戰
  第18章  Elasticsearch知識庫檢索系統實戰
    18.1  知識庫檢索系統的需求分析
    18.2  知識庫檢索系統的技術選型
      18.2.1  OpenOffice
      18.2.2  Tika
      18.2.3  Ingest Attachment
      18.2.4  FSCrawler
      18.2.5  Python Flask
    18.3  知識庫檢索系統的技術架構
    18.4  知識庫檢索系統的實現
      18.4.1  FSCrawler使用步驟詳解
      18.4.2  系統實現效果展示
      18.4.3  數據統計可視化
    18.5  本章小結
  第19章  Elastic Stack大數據可視化系統實戰
    19.1  大數據可視化系統的需求分析
    19.2  大數據可視化系統的技術架構
    19.3  大數據可視化系統的設計
      19.3.1  影評數據獲取的可行性分析
      19.3.2  可分析的數據欄位及其結果可視化
      19.3.3  數據清洗
      19.3.4  數據建模
      19.3.5  數據預處理
    19.4  大數據可視化系統的實現
      19.4.1  核心指標的可視化
      19.4.2  數據分析及結論
    19.5  本章小結
  第20章  Elastic Stack日誌系統實戰
    20.1  日誌系統的需求分析
    20.2  日誌系統的技術架構
    20.3  日誌系統的設計
      20.3.1  date插件
      20.3.2  grok插件
    20.4  日誌系統的實現
      20.4.1  Logstash數據處理
      20.4.2  Elasticsearch數據同步
      20.4.3  Kibana可視化分析

    20.5  本章小結
後記  相信積累的力量

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032