> For the complete documentation index, see [llms.txt](https://training.onedoggo.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://training.onedoggo.com/training/elasticsearch-advanced-ops.md).

# Elasticsearch 進階運維班

{% hint style="info" %}
2024 年，Elasticsearch 進階運維班進行大幅調整，更重視學員們的實際學習成果，加入更多案例的實作練習，課程時間拉長到三天，絕對要讓上課的同學們收穫滿滿並且具備實戰能力。
{% endhint %}

## 報名梯次

<details>

<summary><mark style="color:red;">我有用過 Elasticsearch，我是否還要上基礎班? 還是直接報名進階班? (請點參考以下評估方式)</mark></summary>

可以先參考下面幾點事項，如果你都有一定程度的掌握，才建議直接上進階班!

* 能獨立安裝 Elasticsearch Cluster，並且熟悉基本的設定。
* 了解 Elasticsearch Index, Mapping 的基本觀念。
* 了解 Elasticsearch Cluster, 什麼是 Primary Shard, Replica Shard，Elasticsearch Node 共有哪些角色。
* 知道如何建立 Index、設定 Index Settings、設定 Mapping、單一文件的 CRUD、批次處理的 mget, bulk 的操作。
* 知道 Indexing 一份文件時，文字欄位如何被解析、Analyzer 的處理方式、Inverted Index 如何儲存。
* 能清楚的分辨什麼是 Elasticsearch refresh, Lucene flush, Elasticsearch flush, Lucene commit, Segment file, Field data, Doc values。
* 能解釋 Query, Filter 的差異、並且知道如何做選擇。
* 掌握基本的 Search API 的使用、並且使用 Query DSL 與 Aggregation。
* 處理 indexing & searching 的請求時，Coordinator 是什麼樣的角色，這些請求在執行時，背後做了哪些事? 什麼是 query then fetch? 和 DFS query then fetch 的差異?
* 知道以下功能或設定使用的時機或要注意的事項，以及可以避掉什麼樣的坑：Nested Object, Terms Aggregation, max\_result\_window。
* Dynamic Mapping 是做什麼用的? fields 這個欄位型態又是做什麼用的?
* 知道在進入 Production 時，一些基本的 Elasticsearch 的設定要如何設置。
* Cluster 紅燈、黃燈、綠燈，分別代表什麼樣的狀態? 對於資料的存取會有什麼樣的影響?

</details>

* Elasticsearch 進階運維班 2025/06/28 (六)、07/05 (六)、07/12 (六) 共三天
* Elasticsearch 進階運維班 2025/11/01 (六)、11/08 (六)、11/15 (六) 共三天
* 2026 年梯次，將在後續公告，請關注 FB 粉絲頁。

## 課程費用與優惠辦法

* 費用：**NTD  28,350 元** (含稅)。
* 同時與 **Elasticsearch 進階運維班** 一起報名可享兩門課均 **9折**，兩門課~~原價 NTD 42,850~~。優惠價 **NTD 38,565** (含稅)。(此優惠限同一人報名)
* **四人以上**團報，可享 **9折**，優惠價每人 **NTD 25,515** 元 (含稅)。

## 時間與地點

* **時間：**&#x39;:00 - 17:00，中午休息 1 小時。總共三天，共計 21 小時。\
  (若討論熱烈通常會延遲下課，建議多預留半小時至一小時的彈性時間)
* **上課地點：**<mark style="color:orange;">**線上遠端授課**</mark>，詳細連線軟體、資訊與規範會再課前以 Email 通知大家。

## 課程內容

* 深入 Elasticsearch 分散式架構
  * Elasticsearch Cluster 概述、形成與維護機制
  * Cluster 腦裂及例外狀況發生時的運作方式
  * Indexing/Searching/Updating/Deleting/Bulk Request 的運作原理與例外狀況處理
  * Shard Allocation 的相關設定與客製化 filtering 配置
  * Routing 的運用方式
  * 分散式架構的分頁處理 - Search After & Scroll API
  * Cross Cluster Search 與 Cross Cluster Replication
* 效能最佳化原理與技巧
  * Elasticsearch JVM Heap 的使用方式
  * Filter Cache 的運作機制
  * Indexing 的優化技巧
  * Searching 的優化技巧
  * Storage 的管理技巧
  * Shard 的管理技巧
* 進階資料塑模 (Data Modeling) 與存取方式
  * 關聯式資料的儲存方式
  * Schema on-read 的資料管理方式
  * Schema on-write 的資料管理方式
  * Async Search + Runtime Fields
  * 資料的选代演進式管理
  * Elastic Common Schema
* 資料生命週期管理 (Data Lifecycle Management)
  * Elasticsearch 的資料管理總覽
  * ILM (Index Lifecycle Management)
  * Data Stream 與 Time Series Data Stream
  * Rollup
  * Transform
* 資料安全性 (Data Security)
  * Elastic X-Pack Security
  * RBAC (Role-based Access Control)
  * Kibana User/Role/Spaces 操作介紹
  * Snapshot/Restore
* 資料擷取 (Data Ingestion)
  * Ingest Pipeline
  * 常用的 Ingest Processors
  * Ingest Pipeline Enrich
  * Ingest Pipeline 例外狀況處理
* 正式環境的運維及管理技巧
  * Capacity Planning
  * 監控 Elastic Stack
  * Circuit Breaker
  * Cluster 的常見問題與解決方式
  * Rolling Upgrade 的執行方式

## 適合對象

* 強烈建議先上過 Elasticsearch 基礎實務班，或是已確認過基礎實務班的課程內容都有一定的掌握，"<mark style="color:red;">**不適合**</mark>"沒使用過 Elasticsearch 的新手。
* 這門課是運維 Elasticsearch 的 IT 資訊人員、SRE 工程師的必修，但建議開發人員也必須學習這門課，良好的設計與正確的使用，會是整體效能最佳化與正式運維複雜度的重要關鍵。
* 適合開發人員、SRE 工程師、IT 資訊人員、資料科學家、IT 經理、系統架構師、系統網路部門主管…等需要深入掌握 Elasticsearch，並能讓 Elasticsearch Cluster 安穩運行的資訊相關人員。

## 開課資訊及退款規則

1. 開課門檻 : 報名達人數達 6 人即確定開班，16 人即額滿。
2. 退費辦法 : 當期若沒有成功開課，將全額退費或是可選擇延至下一梯課程。
3. 已完成報名與繳費之學員，將於開課一周前以 E-mail 方式寄發上課通知函；若課程因故取消或延期，亦將以 E-mail 與簡訊方式通知。
4. 已完成繳費之學員如欲取消報名，請於實際上課八日前聯繫主辦單位辦理退課，主辦單位將退還 90% 課程費用。實際上課時間七日內辦理退課，則退還 50% 課程費用。
5. 已完成繳費之學員，可以轉讓上課資格予其他人，請在開課三日前與主辦單位聯繫並完成轉讓程序。
6. 如遇不可抗拒之因素，課程主辦單位保留修訂課程日期及取消課程的權利。

## 其他注意事項

1. 此課程含有大量實機操作練習，請準備可操作的電腦 (Windows、Mac、Linux 皆可，需能安裝並操作 Elasticsearch)。
2. 若有任何關於課程內容、企業報班與顧問服務需求請聯繫 <training@onedoggo.com> 王小姐
3. 提供企業報帳發票與個人發票
4. 優惠價擇一使用
5. 主辦單位保留因應上課成員能力調整內容、日期、時間與進行方式之權利。
6. 主辦單位擁有決定是否接受報名之權利。
7. 相關課程、書籍與 Elastic 相關討論都會公告在這邊，歡迎追蹤並且一起學習成長！\
   喬叔 - Elastic Stack 技術交流 粉絲頁：\
   <https://www.facebook.com/Joe.ElasticStack>
