<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何系統(tǒng)的學(xué)習(xí) Elasticsearch ?

          共 6821字,需瀏覽 14分鐘

           ·

          2021-03-15 05:42

          這是上一次技術(shù)直播里六個子主題中的最后一個主題的擴(kuò)展版本。近期又有讀者問到類似問題,我認(rèn)為非常有必要花長時間梳理后跟大家分享一下。

          1、基礎(chǔ)篇:零基礎(chǔ)如何學(xué) Elasticsearch ?

          常見問題:“ES 零基礎(chǔ)入門書籍看什么比較好?”

          認(rèn)知前提:書籍的速度已遠(yuǎn)落后于 ES 版本更新的速度。ES 幾乎每個月發(fā)布一個版本,更新很快。

          市面上的書籍,尤其國外翻譯書籍還大多是:1.x,2.x,5.x ,6.x 的版本,更新較慢。

          有幾本7.X的書籍,我沒有買實體書,不太有發(fā)言權(quán)。不過:1.X——6.X全部實體書我都買了,也都看完了,可以說有發(fā)言權(quán)。

          相比于實體書籍,我更推薦官方文檔,但鑒于“零基礎(chǔ)”讀者對英文的恐懼,書籍、視頻、學(xué)習(xí)路線等推薦列表如下:

          1.1 零基礎(chǔ)書籍推薦

          推薦1:《這就是搜索引擎》

          這是一本介紹搜索引擎原理的書,有了搜索引擎原理的認(rèn)知再去理解 Elasticsearch 會有“居高臨下”俯視的感覺。

          • 推薦理由 1:長銷書(比暢銷書高一個level)、作者是中科院軟件所博士、包含大量圖解、通俗易懂。
          • 推薦理由 2:貌似在 medcl 大神(Elasti中文社區(qū)創(chuàng)始人、Elastic中國第1位員工) 書架也有這本書。

          推薦 2:《Elasticsearch 權(quán)威指南》2.X 中文翻譯電子書

          地址如下:

          https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

          • 推薦理由 1:雖然基于 2.X,但底層原理的介紹并不過時,值得一看。
          • 推薦理由 2:wood大叔(攜程架構(gòu)師、Elastic 中文社區(qū)排名第1名)也曾經(jīng)多次推薦且他看過2遍以上+。

          推薦 3:《Elasticsearch 實戰(zhàn)》紙質(zhì)書

          這本書是《Elasticsearch IN ACTION》 的翻譯版本。

          • 推薦理由 1:作者之一已入職 Elasticsearch。
          • 推薦理由 2:翻譯作者是極客時間數(shù)學(xué)課的作者:黃申博士,翻譯還可以,至少比《 Lucene 實戰(zhàn) 》翻譯好 100 倍。
          • 推薦理由 3:這本書是 Medcl 大神寫的序。

          推薦4:結(jié)合 ECE 考綱、《Elasticsearch 最少必要知識》電子教程啃官方文檔。

          Elasticsearch 最少必要知識》 地址:

          https://www.yuque.com/deep_elasticsearch/tzcm9n

          • 推薦理由 1:ECE 認(rèn)證考試是以考帶練,入門學(xué)習(xí)和進(jìn)階的絕佳方式,沒有之一。
          • 推薦理由 2:單獨看官方文檔不知道重點,而 ECE 考綱就是重點。
          • 推薦理由 3:單獨看官方文檔 + ECE大綱沒有頭緒,《Elasticsearch 最少必要知識》幫梳理清楚了。

          1.2 零基礎(chǔ)入門視頻教程推薦

          推薦 1:阮一鳴老師 7.1+ 極客時間視頻

          地址:https://time.geekbang.org/course/intro/100030501

          推薦 2:魏彬老師慕課網(wǎng)的視頻(6.X 版本)

          地址:https://coding.imooc.com/class/181.html

          推薦 3:李猛老師視頻課程(最新版本)

          地址:https://www.gupaoedu.cn/course-es.html

          推薦 4:中華石杉老師的 2.X 視頻教程

          地址:https://www.roncoo.com/view/80

          推薦 5:死磕 Elasticsearch 最少必要知識系列直播(7.x + 版本,推進(jìn)中)

          地址:http://t.cn/RmwM3N9

          因為每個人的“口味”不同,正所謂“眾口難調(diào)”,再好口碑的課程也有人覺得“雞肋”。

          所以,上面列舉了幾乎所有 Elasticsearch 視頻教程,總有適合你的一款

          1.3 “零基礎(chǔ)”是相對的、不要怕!

          所謂“零基礎(chǔ)”,Mysql 數(shù)據(jù)庫的一些常規(guī)操作基礎(chǔ)是有的吧?

          推薦結(jié)合已有知識體系,類比學(xué)習(xí):

          MySQLElasticSearch
          TableIndex
          TableType
          RowDocument
          ColumnField
          SchemaMapping
          IndexEverything is indexed
          SQLQuery DSL
          select * from …GET  http://…
          update table set …POST  http://…
          group by、avg、sumAggregations
          去重 distinctcardinality
          數(shù)據(jù)遷移reindex

          通過類比:就可以由已有認(rèn)知過度到未知認(rèn)知,便于快速習(xí)得技能。

          建議把基礎(chǔ)內(nèi)容分為兩部分,

          • part 1:增刪改查

          這一部分相對好理解,或者可以借助已有知識體系類比加深理解。

          進(jìn)一步細(xì)分為:

          • 索引的增刪改查

          • 文檔的增刪改查

          • Mapping 的增刪改查

          • template 的增刪改查

          • ......

          這些知識有了,基本的操作基本都經(jīng)過手了。

          • part 2:非增刪改查

          進(jìn)一步細(xì)分為:

          • 數(shù)據(jù)預(yù)處理 Ingest

          • 自定義分詞

          • 檢索分類

          • 聚合分類

          • 節(jié)點角色分類

          • 集群備份與快照

          • 集群安全

          • 跨集群部署

          • 冷熱集群架構(gòu)

          • 跨機(jī)房跨機(jī)架檢索

          • ......

          有了上面的分類,一個知識點一個知識點的攻克就可以了。

          1.4 形成自己的學(xué)習(xí)路線圖

          我之前梳理的學(xué)習(xí)路線圖如下:

          重磅 | Elasticsearch7.X學(xué)習(xí)路線圖

          學(xué)習(xí)路線因人而異,上面的路線圖僅供參考。

          需要結(jié)合自己的實踐和認(rèn)知,找到屬于自己的一條學(xué)習(xí)路線。

          1.5 “零基礎(chǔ)”學(xué)習(xí)方法論——光看不夠,搭建環(huán)境 + 練起來更重要!

          書籍和視頻一個道理,看再多不如練習(xí)一遍。

          這里強(qiáng)調(diào)的練:是《刻意練習(xí)》書籍中推崇的概念“練習(xí)”的練,不是盲目的練習(xí)、而是有目的、有目標(biāo)的刻意練習(xí)。

          你看星球考過的 46 位認(rèn)證工程師,都是刻意練習(xí) + 對官方文檔非常熟練的結(jié)果。

          最簡單、最輕量化的方式:搭建好環(huán)境(單節(jié)點 Elasticsearch + kibana),用 kibana 自帶的三個示例數(shù)據(jù)就可以練習(xí)起來。

          • 部署方式一:如果 PC 內(nèi)存足夠,搭建個虛擬機(jī)就可以開搞了。

          • 部署方式二:如果對 docker 很熟悉,docker 部署 ELK 也非??臁?/span>

          • 部署方式三:一、二都不喜歡,自己買個云服務(wù)器(最少2核4G)就夠了。

          結(jié)合自己的需求,用自己最擅長的方式。

          以上,期望有助于你快速入門!

          2、進(jìn)階篇:實踐加深認(rèn)知

          基礎(chǔ)篇強(qiáng)調(diào)練起來。進(jìn)階篇會進(jìn)一步強(qiáng)調(diào)“練”的重要性。

          2.1 刻意學(xué)習(xí)一遍官方文檔

          程序猿DD大佬說過:要切實的落實某個框架,全面了解和掌握的方式永遠(yuǎn)都是“官方文檔 + 學(xué)會讀源代碼”。

          是的,如果說入門我們可以看博客、看視頻,站在別人“肩上”走的更快。那么進(jìn)階的話,系統(tǒng)的過一遍官方文檔就很有必要了。

          如果感覺上來就全英文有些吃力,可以 7.X 最新版本的英文結(jié)合 2.X 中文文檔一起來看。

          如果感覺吃力,可以看一下技術(shù)博客資源:

          全網(wǎng)最牛逼的 Elasticsearch 天團(tuán)博客集合

          2.2 實戰(zhàn)中刻意練習(xí)

          在產(chǎn)品或項目架構(gòu)、開發(fā)、運(yùn)維的過程中,遇到問題,不要僅局限在解決問題本身,多刨根問底,問問底層原理是什么?

          • 舉例 1:range query 對數(shù)值類型還是 keyword 類型來講,哪種數(shù)據(jù)類型會更快?
          • 舉例 2:index sort 真的很快嗎?適用于什么場景?底層是如何實現(xiàn)的?
          這時候有遇到不明白的,可以翻閱官方文檔,查看github issue記錄,翻閱源代碼,社區(qū)內(nèi)討論等......通過不斷求證提升認(rèn)知。

          2.3 上學(xué)下幫的練習(xí)

          社區(qū)中每天都有來自全國 N 多公司線上實戰(zhàn)問題,看看別人都遇到了哪些問題?用了哪些技術(shù)棧?

          國內(nèi)Elastic社區(qū)地址:https://elasticsearch.cn/

          國外Elastic社區(qū)地址:https://discuss.elastic.co/

          2.3.1 向上學(xué)

          向比自己厲害的人學(xué)習(xí)。

          社區(qū)社群中有大量的大牛,即便很“偏門”、“刁鉆”的問題也能有非常獨到的見解和思路,這就很值得我們?nèi)W(xué)習(xí)。

          學(xué)習(xí)什么?

          學(xué)習(xí)他們拆解問題、分析問題、定位問題以及解決問題的思路。

          2.3.2 向下幫

          幫助需要幫助的人,大家都有知識盲區(qū)。幫助別人的同時個人也能得到飛速的提升。

          正所謂:“講一遍有一遍的收貨”。

          對于求助人來說,“能把問題講清楚、問題就解決了一大半”。

          而對于解答者來說:“輸出倒逼輸入,幫助別人排查問題,本質(zhì)就是進(jìn)一步提升自己的認(rèn)知”。別的不說,社區(qū) wood 大叔的文章基本就是解決自己或者別人問題而累積的干貨,對 Elastic 學(xué)習(xí)者來說大有裨益。

          你有一個蘋果,我有一個橘子,我們一交換,每個人得到的都是兩種不同味道的水果。

          你知道一個知識點,我知道另外一個知識點,我們一交換,每個人得到的是兩個不同的知識點,甚至有可能擴(kuò)展彼此的認(rèn)知邊界。

          不要忽視“重復(fù)的力量”,舉個例子:“小朋友聽兒歌,基本2-3遍+就能跟著哼出相應(yīng)的語調(diào)”,這就是聽的多、重復(fù)的次數(shù)多的原因。一樣的,我們給別人講解的多了之后,自己記憶的會越來越牢固。

          2.4 逐步構(gòu)建屬于自己的知識體系

          經(jīng)常收到的問題是:“知識不成體系,學(xué)的東西都很散,不用就忘記了”。

          是這樣的,現(xiàn)在網(wǎng)絡(luò)資源非常多,甚至適合上手的項目、源碼都是開源的,所以上手不是難事。

          遇到問題就去通過搜索引擎檢索答案本也無可厚非,但是看到的內(nèi)容、學(xué)到的內(nèi)容永遠(yuǎn)不是全貌。

          所謂“只見樹木、不見森林”大抵也是這個意思。

          舉個實戰(zhàn)例子:

          • 模板 template 在數(shù)據(jù)量不大、索引不多的情況下根本用不到。

          由于我們的思維慣性,會一直認(rèn)為創(chuàng)建索引、指定 Mapping 順理成章。

          當(dāng)遇到海量數(shù)據(jù)的時候,可以通過腳本創(chuàng)建Mapping。項目結(jié)束或者其他什么時間,才發(fā)現(xiàn)有template。最后慨嘆:“早知道有template,我就不用維護(hù)那么多腳本了”。

          • Ingest 數(shù)據(jù)預(yù)處理,在寫入前處理數(shù)據(jù)的妙處,用過才知道很爽、很方便!

          同樣是思維慣性,不知道 Ingest 的話,總感覺數(shù)據(jù)處理的操作屬于前置 ETL 的環(huán)節(jié),于是自己寫代碼實現(xiàn):數(shù)據(jù)字段的拆解、截取、更換字段名等操作。

          實際上,這些操作用 ingest 幾行語句就能快速搞定。

          知識體系的梳理,我推薦用腦圖,定期的把一些零散的知識點畫一畫。比如如下的幾個點細(xì)分知識點非常瑣碎,需要自己梳理建立完整體系認(rèn)知。

          Elasticsearch 檢索分類腦圖

          Elasticsearch 數(shù)據(jù)類型腦圖

          Elasticsearch 全景技術(shù)體系腦圖


          畫的多了,就形成了自己的知識體系。

          如下視頻是我用 30 + 分鐘的時間徒手敲了《Elasticsearch 最少必要知識》的核心知識點,這也是當(dāng)前 Elastic 認(rèn)證考試考綱的全部知識點。

          2.5 以考帶練

          可以考慮參加 Elastic 認(rèn)證考試,通過以考代練的方式,強(qiáng)迫自己夯實基本功。

          之前分享過認(rèn)證考試的文章比較多,不再贅述。

          對認(rèn)證感興趣的推薦閱讀:

          如下是 BAT 大佬對認(rèn)證工程師的評價,至少在你簡歷不那么出彩的時候,認(rèn)證工程師算是一個簡歷的亮點。

          有了這個亮點,入大廠的敲門磚才更有力!

          死磕 Elasticsearch 知識星球已通過 46 位 認(rèn)證工程師(截止 2021年3月11日),其中三位拿到了大廠高薪 offer:

          • 微軟 offer
          • 阿里 offer
          • 拼多多 offer

          以上,通過進(jìn)一步的刻意練習(xí),助力構(gòu)建知識體系,期望有助于你快速進(jìn)階!

          3、源碼原理篇:掌握本質(zhì),一通百通

          目前來看只有互聯(lián)網(wǎng)大廠才會做 Elasticsearch 內(nèi)核級別優(yōu)化,所以大廠面試的第一個問題通常是:“有沒有看過 Elasticsearch 源碼?”。然后再問一些底層原理、優(yōu)化等實戰(zhàn)問題。

          PS 補(bǔ)充一點:大廠必然會問基礎(chǔ)算法,建議提前力扣刷題備戰(zhàn)。

          單純的讀源碼容易碰壁、經(jīng)常會是“一頭霧水、不知所云”。所以建議結(jié)合實戰(zhàn)問題,帶著問題看源碼。

          也推薦開發(fā)一款 Elasticsearch 插件,開發(fā)的過程加強(qiáng)對 Elasticsearch 代碼和接入邏輯的認(rèn)知。

          3.1 推薦1:張超老師的《Elasticsearch源碼解析與優(yōu)化實戰(zhàn)》書

          • 推薦原因:市面上寫Elasticsearch 源碼的唯一一本書,豆瓣評分7.5+。
          • 推薦原因2:我請過張超老師做過一次技術(shù)分享,球友們都一致反饋他研究的很深。

          結(jié)合源碼解讀書,有必要的時候再去翻源碼,這樣學(xué)習(xí)相對更快,至少有了脈絡(luò)可循、能少走彎路。

          3.2 推薦2:《Lucene 實戰(zhàn)》

          • Elasticsearch 底層是 Lucene,掌握 Lucene 的原理對于理解Elasticseach 非常有幫助。

          • 翻譯實在不敢恭維,但貌似實體Lucene 書實在是稀缺,可以大致看一下。

          3.3 推薦3:《Lucene 原理與代碼分析完整版》電子書

          以上,期望有助于你理解底層原理!

          4、系統(tǒng)學(xué)習(xí)的誤區(qū)

          4.1 買課內(nèi)卷化

          開工忙非常理解。但是,買課的目的得進(jìn)一步明確:0.1元課、1元課、9.9元課、19.9元課等都非常多,各大機(jī)構(gòu)競爭已經(jīng)出現(xiàn)了白熱化。我自己也幫推課,站在 IT 培訓(xùn)公司 或者 IT 知識付費公司推廣的角度能理解,吸引用戶無可厚非。

          但,之前咱們也強(qiáng)調(diào)過,買課不是目的,和買書一個道理,再直白點說:

          買了書不看和買了課不看,是一模一樣的邏輯。

          買的時候心里是這樣的:

          • X 天掌握一門技能,太牛逼了。
          • X 天后,我就成大牛了。
          • X 天后,我就建立完整知識體系了。
          • 我擦,業(yè)界大佬的課,得學(xué)啊!
          • 我擦,群里球友或身邊同事都買了,我也得買啊。
          • 我擦,買它買它買它。。。。

          買了那一刻瞬間的感覺,很舒服、很踏實、仿佛產(chǎn)生了中彩票的幻覺。

          但是,買完之后沒多久呢?

          • XXX,你的bug,過來看一下。
          • XXX,年度規(guī)劃會議,記得參加。
          • XXX,產(chǎn)品需求討論會議,記得參加。
          • XXX,架構(gòu)選型會議,記得參加。
          • XXX,開發(fā)問題討論、敲代碼。。。
          • XXX,不行,今天任務(wù)還沒完成,加班中。。。

          如此反復(fù),進(jìn)入了 996 的死循環(huán)。

          幾天后,或者幾十天后,又發(fā)現(xiàn)課程推廣廣告,哎,我不是買過這門課,我擦,忘記聽了、忘記學(xué)了。

          課不在多,能學(xué)才靈!

          課不在多,夠練就行!

          練起來比買起來更重要。

          買不可怕,買了不學(xué)才可怕!

          學(xué)不可怕,學(xué)了不練才可怕!

          練不可怕,練了不用才可怕!

          4.2 注意力分散

          我多次引用過李笑來的話:注意力 > 時間 > 金錢。

          真的是這樣——你的注意力在哪里?你的成就就在哪里!

          過年的時候跟朋友聊天提到了讀書的問題,“不怕你笑話,我好幾年沒有讀過一本書了”。

          我是非常能理解的,工作之后加上結(jié)婚有了孩子之后,時間真的是很散的,如果工作是996的話,沒時間讀書真的是很務(wù)實的一句話。

          要注意的是:正如羅胖所說的——“國民總時間”是恒定的。

          如果不讀書,工作、生活或者其他方面有所專長足以養(yǎng)家糊口、家庭富足無可厚非。但,怕就怕把相對僅有的稀缺的休閑時間用在了:刷視頻、刷新聞上。

          即便我能堅持寫博客,但我始終認(rèn)為我的自制力很差,容易刷視頻上癮。之前采取暴力的方式卸載掉APP,實際上不能本質(zhì)解決問題。

          現(xiàn)在緩和的解決方案,給自己休閑(刷視頻、刷新聞)定個時間,過了點就得干正事:讀書、學(xué)習(xí)、實踐等。

          并且,效果不好的話,一言不合我就會打卡學(xué)習(xí),通過打卡一句話總結(jié)每天干的事情,很笨但很有效。

          推薦閱讀:打卡學(xué)習(xí)——應(yīng)對焦慮的一劑良方!

          最后,我想說:把注意力集中在長期的、有意義的事情上。越集中、越幸運(yùn)!

          5、小結(jié)

          說是系統(tǒng)的學(xué),不知道大家看完了感覺是怎么樣的?夠不夠系統(tǒng)?

          沒有普適的方法,大家結(jié)合自己的實際業(yè)務(wù)不斷刻意練習(xí),找到屬于自己的方法論才是王道!

          畢竟是一家之言,如果有不對的地方,歡迎指正。也歡迎大家留言交流學(xué)習(xí)心得、方法等。

          推薦:

          1. 從實戰(zhàn)中來,到實戰(zhàn)中去——Elasticsearch 技能更快提升方法論

          2. 重磅 | 死磕 Elasticsearch 方法論認(rèn)知清單(2020年國慶更新版)

          3. 死磕 Elasticsearch 方法論:普通程序員高效精進(jìn)的 10 大狠招!


          中國最大的 Elastic 非官方公眾號

          更短時間更快習(xí)得更多干貨

          點擊查看“閱讀原文”,更短時間更快習(xí)得更多干貨。和全球 1000 位+ Elastic 愛好者(含中國 50%+ Elastic 認(rèn)證工程師)一起每日精進(jìn) ELK 技能!

          瀏覽 100
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色婷婷在线无码精品 | 日本亲子乱婬免费播放 | 天天爽天天爽天天爽天天爽 | 国产3344在线观看视频 | 大香蕉97超碰 |