Elastic Stack是當(dāng)前企業(yè)廣泛使用的一套大數(shù)據(jù)解決方案, 具備完整的數(shù)據(jù)采集、處理和分析生態(tài)鏈。主要包括Elasticsearch、Kibana、Logstash和Beats等,其中Elastisearch是Elastic Stack的核心,Elasticsearch是當(dāng)前流行的分布式的RESTful風(fēng)格的搜索和數(shù)據(jù)分析引擎,具備高性能、易于擴展、安全穩(wěn)定的特點。
? ???
課程基于Elastic Stack的6.x版本,從理論到實踐,深度實戰(zhàn)Elastic Stack,由淺入深詳解Elasticsearch、Kibana、Logstash和Beats原理和使用技巧。
? ?
1. 從零開始,以案例實戰(zhàn)驅(qū)動,覆蓋面廣,包含了大量的實踐案例。
? ?
2. 既有基礎(chǔ)功能的詳細(xì)講解, 也包含了業(yè)務(wù)模型設(shè)計、集群規(guī)劃調(diào)優(yōu)和Elastic Stack生產(chǎn)環(huán)境部署等高級內(nèi)容。
? ?
3. 將Elasticsearch和Hadoop/Spark2大數(shù)據(jù)平臺整合, 增強Elasticsearch的功能。
? ?
4. 基于多種主流的API操作實踐Elasticsearch等,可以根據(jù)需要完成各種系統(tǒng)的開發(fā)。
第一節(jié): Elasticsearch入門
ES 核心概念和在6.x中的新變化
ES安裝、測試集群快速搭建
Kibana安裝
Head插件在線和離線安裝
REST服務(wù)
集群健康查看、列出所有的index、創(chuàng)建index、查詢、刪除等
數(shù)據(jù)修改(更新、刪除、批量刪除更新等)
搜索API、DSL查詢語言、查詢、過濾、聚合
倒排索引原理與實現(xiàn)流程
Lucene 與 ElasticSearch
ElasticSearch的工作流程
第二節(jié): Mapping
Mapping簡介
Mapping創(chuàng)建
數(shù)據(jù)類型(核心數(shù)據(jù)類型、復(fù)雜數(shù)據(jù)類型、地理數(shù)據(jù)類型、專用數(shù)據(jù)類型、Multi-fields)
Meta字段(_id/_all/_source/_uit/_meta/_routing等)
Mapping參數(shù)詳解:analyzer、index_options、boost、copy_to、doc_values、null_values、dynamic、enabled、store等)
Dynamic Mapping
第三節(jié): Index和Document操作
索引管理(創(chuàng)建、刪除、查看索引、判斷索引是否存在、Open/Close索引、Shrink 索引、Split索引、Rollover索引)
Mapping管理(增加Mapping、獲取Mapping、獲取字段Mapping、Type是否存在)
應(yīng)對故障轉(zhuǎn)移和水平擴容的索引構(gòu)建
索引文檔、索引分片、數(shù)據(jù)路由
別名管理和使用場景
索引設(shè)置(更新索引設(shè)置、獲取配置、索引分析、索引模板)
監(jiān)控(索引狀態(tài)、索引段、索引恢復(fù)、索引分片存儲)
狀態(tài)管理(清除緩存、refresh、flush、強制合并)
更新索引設(shè)置
單文檔的CURD
多文檔的CURD
Reindex
批量導(dǎo)入大量數(shù)據(jù)Bulk的操作與優(yōu)化
第四節(jié):分詞和搜索(一)
分詞器的作用
分詞器工作流程
停用詞
內(nèi)置分詞器(standard、simple、whitespace等)
自定義分詞
測試分詞器
分詞的兩種使用方式
中文分詞器
Search的兩種形式(URI Search、Request Body Search)
URI Search詳解
Query DSL
第五節(jié):分詞和搜索(二)
全文搜索
字段查詢
高亮搜索
關(guān)聯(lián)查詢(Nested Query、Parent-Child查詢)
路由策略
查詢和filter的區(qū)別
深度分頁問題
分頁的方案和使用場景
使用scroll實現(xiàn)大數(shù)據(jù)量導(dǎo)出
相關(guān)度分?jǐn)?shù)計算
應(yīng)用不重啟重建索引
Elasticsearch返回記錄數(shù)和排名問題
bulk操作與優(yōu)化
第六節(jié): 聚合查詢
聚合分類
聚合原理分析
Metric聚合分析
Bucket聚合分析
Pipeline聚合分析
Matrix聚合分析
準(zhǔn)確度問題
聚合caching
第七節(jié): ElasticSearch集群管理與調(diào)優(yōu)
硬件優(yōu)化
具備容錯和故障轉(zhuǎn)移的集群規(guī)劃
角色規(guī)劃
架構(gòu)設(shè)計
集群健康
腦裂問題和解決方案
segment、merge、shard、alias優(yōu)化等
shard和副本的設(shè)計
集群異常處理
Elasticsearch性能測試
第八節(jié): 模型設(shè)計與業(yè)務(wù)調(diào)優(yōu)
Mapping字段設(shè)置優(yōu)化
大文檔存儲優(yōu)化
doc_values、fielddata優(yōu)化
是否檢索優(yōu)化
ES數(shù)據(jù)寫入優(yōu)化
ES數(shù)據(jù)查詢優(yōu)化
第九節(jié): SQL on Elasticsearch
ElasticSearch 6.x自帶SQL簡介
約定和相關(guān)術(shù)語
SQL Rest API
SQL Translate API
SQL JDBC
SQL Cli
SQL函數(shù)與操作符
SQL命令
SQL數(shù)據(jù)類型
ElasticSearch-sql第三方插件安裝
ElasticSearch-sql第三方插件使用
第十節(jié): Elasticsearch for Apache Hadoop and Spark
配置安裝
ElasticSearch與Hadoop相關(guān)組件(Hive、Mapreduce等整合)
Spark2整合Elasticsearch的配置
Spark2讀取Elasticsearch的幾種方式與案例實踐
Spark2寫Elasticsearch的幾種方式與案例實踐
性能優(yōu)化
第十一節(jié): ElasticSearch客戶端(一)
Java Rest Client(Java Low Level REST Client、Java High Level REST Client)
Java API(Maven倉庫配置、文檔API、Search API、聚合、Query DSL、索引管理、集群管理API)
Java Rest Client與Java API對比與未來發(fā)展
第十二節(jié): ElasticSearch客戶端(二)
Jest 操作Elasticsearch
Python API(安裝、實踐)
第十三節(jié): Beat使用
Beat簡介
FileBeat
Packetbeat
Hearbeat
Beat使用案例
第十四節(jié): Logstash
Logstash配置
Logstash插件詳解
Logstash的架構(gòu)
Logstash與pipline
input詳解
output輸出
logstash使用案例
第十五節(jié): Kibana
Kibana高級使用詳解
Kibana可視化
使用案例
第十六節(jié): 綜合案例
海量數(shù)據(jù)搜索分析系統(tǒng)設(shè)計要點
綜合案例
|