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ù)分析引擎,具備高性能、易于擴(kuò)展、安全穩(wěn)定的特點(diǎn)。
第一部份: Elasticsearch入門
ES 核心概念和在6.x中的新變化
ES安裝、測(cè)試集群快速搭建
Kibana安裝
Head插件在線和離線安裝
REST服務(wù)
集群健康查看、列出所有的index、創(chuàng)建index、查詢、刪除等
數(shù)據(jù)修改(更新、刪除、批量刪除更新等)
搜索API、DSL查詢語(yǔ)言、查詢、過(guò)濾、聚合
倒排索引原理與實(shí)現(xiàn)流程
Lucene 與 ElasticSearch
ElasticSearch的工作流程
第二部份: Mapping
Mapping簡(jiǎn)介
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
第三部份: Index和Document操作
索引管理(創(chuàng)建、刪除、查看索引、判斷索引是否存在、Open/Close索引、Shrink 索引、Split索引、Rollover索引)
Mapping管理(增加Mapping、獲取Mapping、獲取字段Mapping、Type是否存在)
應(yīng)對(duì)故障轉(zhuǎn)移和水平擴(kuò)容的索引構(gòu)建
索引文檔、索引分片、數(shù)據(jù)路由
別名管理和使用場(chǎng)景
索引設(shè)置(更新索引設(shè)置、獲取配置、索引分析、索引模板)
監(jiān)控(索引狀態(tài)、索引段、索引恢復(fù)、索引分片存儲(chǔ))
狀態(tài)管理(清除緩存、refresh、flush、強(qiáng)制合并)
更新索引設(shè)置
單文檔的CURD
多文檔的CURD
Reindex
批量導(dǎo)入大量數(shù)據(jù)Bulk的操作與優(yōu)化
第四部份:分詞和搜索(一)
分詞器的作用
分詞器工作流程
停用詞
內(nèi)置分詞器(standard、simple、whitespace等)
自定義分詞
測(cè)試分詞器
分詞的兩種使用方式
中文分詞器
Search的兩種形式(URI Search、Request Body Search)
URI Search詳解
Query DSL
第五部份:分詞和搜索(二)
全文搜索
字段查詢
高亮搜索
關(guān)聯(lián)查詢(Nested Query、Parent-Child查詢)
路由策略
查詢和filter的區(qū)別
深度分頁(yè)問(wèn)題
分頁(yè)的方案和使用場(chǎng)景
使用scroll實(shí)現(xiàn)大數(shù)據(jù)量導(dǎo)出
相關(guān)度分?jǐn)?shù)計(jì)算
應(yīng)用不重啟重建索引
Elasticsearch返回記錄數(shù)和排名問(wèn)題
bulk操作與優(yōu)化
第六部份: 聚合查詢
聚合分類
聚合原理分析
Metric聚合分析
Bucket聚合分析
Pipeline聚合分析
Matrix聚合分析
準(zhǔn)確度問(wèn)題
聚合caching
第七部份: ElasticSearch集群管理與調(diào)優(yōu)
硬件優(yōu)化
具備容錯(cuò)和故障轉(zhuǎn)移的集群規(guī)劃
角色規(guī)劃
架構(gòu)設(shè)計(jì)
集群健康
腦裂問(wèn)題和解決方案
segment、merge、shard、alias優(yōu)化等
shard和副本的設(shè)計(jì)
集群異常處理
Elasticsearch性能測(cè)試
第八部份: 模型設(shè)計(jì)與業(yè)務(wù)調(diào)優(yōu)
Mapping字段設(shè)置優(yōu)化
大文檔存儲(chǔ)優(yōu)化
doc_values、fielddata優(yōu)化
是否檢索優(yōu)化
ES數(shù)據(jù)寫(xiě)入優(yōu)化
ES數(shù)據(jù)查詢優(yōu)化
第九部份: SQL on Elasticsearch
ElasticSearch 6.x自帶SQL簡(jiǎn)介
約定和相關(guān)術(shù)語(yǔ)
SQL Rest API
SQL Translate API
SQL JDBC
SQL Cli
SQL函數(shù)與操作符
SQL命令
SQL數(shù)據(jù)類型
ElasticSearch-sql第三方插件安裝
ElasticSearch-sql第三方插件使用
第十部份: Elasticsearch for Apache Hadoop and Spark
配置安裝
ElasticSearch與Hadoop相關(guān)組件(Hive、Mapreduce等整合)
Spark2整合Elasticsearch的配置
Spark2讀取Elasticsearch的幾種方式與案例實(shí)踐
Spark2寫(xiě)Elasticsearch的幾種方式與案例實(shí)踐
性能優(yōu)化
第十一部份: ElasticSearch客戶端(一)
Java Rest Client(Java Low Level REST Client、Java High Level REST Client)
Java API(Maven倉(cāng)庫(kù)配置、文檔API、Search API、聚合、Query DSL、索引管理、集群管理API)
Java Rest Client與Java API對(duì)比與未來(lái)發(fā)展
第十二部份: ElasticSearch客戶端(二)
Jest 操作Elasticsearch
Python API(安裝、實(shí)踐)
第十三部份: Beat使用
Beat簡(jiǎn)介
FileBeat
Packetbeat
Hearbeat
Beat使用案例
第十四部份: Logstash
Logstash配置
Logstash插件詳解
Logstash的架構(gòu)
Logstash與pipline
input詳解
output輸出
logstash使用案例
第十五部份: Kibana
Kibana高級(jí)使用詳解
Kibana可視化
使用案例
第十六部份: 綜合案例
海量數(shù)據(jù)搜索分析系統(tǒng)設(shè)計(jì)要點(diǎn)
|