前言,2019年底,由于我們現(xiàn)網(wǎng)的搜索是通過(guò)solr實(shí)現(xiàn),年久失修,公司決定未來(lái)通過(guò)ES來(lái)重構(gòu)。首先需要調(diào)研并學(xué)習(xí)下ES,為后續(xù)切換做準(zhǔn)備,出于工作需要我就踏上了ES的學(xué)習(xí)與認(rèn)證之路。
第一階段,梳理大綱知識(shí)體系
Elastic Search 知識(shí)覆蓋范圍還是比較廣泛,首先快速切入ES知識(shí)體系是當(dāng)務(wù)之急,快速的學(xué)習(xí)方式我認(rèn)為適合自己的就是先找個(gè)視頻快速了解大概內(nèi)容,阮一鳴老師的ES課程就很不錯(cuò),另外公眾號(hào)“銘毅天下”的公眾號(hào)也比較好,通過(guò)視頻加文章的形式可以快速了解ES的知識(shí)體系。大概用了1個(gè)月來(lái)學(xué)習(xí)體系知識(shí)(中間斷斷續(xù)續(xù)),由于還有其他學(xué)習(xí)課程,本身工作也是大小休,能利用的時(shí)間就更少了。在接下來(lái)的1-2個(gè)月,先看了7.2版本的官網(wǎng)文檔,剛開(kāi)始看比較難懂,看了幾周后發(fā)現(xiàn)看英文文檔也沒(méi)那么吃力了,看到一半時(shí)感覺(jué)不太熟悉,有些雖然能短詞可懂,長(zhǎng)句就難懂了,我又回過(guò)來(lái)了看了一遍官網(wǎng)精髓:2.X權(quán)威指南,用了2周看完核心指南后,大概的知識(shí)點(diǎn)基本已經(jīng)了解了,再重新看英文文檔就有點(diǎn)感覺(jué)了。第一階段大概用了2-3個(gè)月
第二階段,練習(xí)。
參照視頻開(kāi)始練習(xí)一些DSL寫(xiě)法,熟悉API,剛開(kāi)始也是一頭霧水,結(jié)構(gòu)把握不準(zhǔn)。大家遇到這種情況不要慌,因?yàn)閯傞_(kāi)始學(xué)習(xí)都這樣,都要經(jīng)歷此階段,不停的練習(xí),每天時(shí)間有限,早上早40分鐘到公司,練習(xí);中午午休,練習(xí)20分鐘,晚上下班再練習(xí)60分鐘,每天至少保證120分鐘。周末每天也必須練習(xí),經(jīng)過(guò)2個(gè)月左右,基本技能都掌握了,此時(shí)覺(jué)得可以練練習(xí)題找找感覺(jué)了。
第三階段,習(xí)題。
不停的練習(xí)習(xí)題,然后參考官網(wǎng)例子,反復(fù)練習(xí),期間每天視頻正常也看,練習(xí)了德國(guó)博世寫(xiě)的練習(xí)題,慢慢的就熟悉了題型。
第四階段,考試準(zhǔn)備。
參考網(wǎng)友的經(jīng)驗(yàn),梯子是必備的,時(shí)間我是選擇在凌晨5點(diǎn)到8點(diǎn),早上4點(diǎn)多起來(lái)測(cè)試了下網(wǎng)速,上傳下載十幾兆速度,速度是沒(méi)有任何問(wèn)題。另外如果用身份證參加考試需要提前發(fā)郵件申請(qǐng),所以最好用護(hù)照或者港澳通行證(空證即可)。
3小時(shí)10道題目,全英文,需要仔細(xì)審題,所以審題也要花費(fèi)不少時(shí)間。
題型,題型內(nèi)容大概如下:
1、分片分配、遷移
2、update_by_query + pipeline
3、對(duì)某索引創(chuàng)建備份,需要設(shè)置備份路徑
4、開(kāi)啟security并配置某用戶(hù)的權(quán)限、密碼,我是通過(guò)kibana實(shí)現(xiàn),配置OK后用新配置的用戶(hù)名和密碼校驗(yàn)下是否生效,以免出錯(cuò)
5、reindex、自定義分詞器
6、dynamic_template
7、search,highlighting、sort
8、mutli_match
9、聚合date_histogram、max-bucket
10、nested 對(duì)象、 nested查詢(xún)
遇到的問(wèn)題
其中第三題索引備份耗費(fèi)時(shí)間大概在50分鐘,按照文檔配置了路徑,在設(shè)置路徑時(shí),總是報(bào)路徑找不到,官網(wǎng)例子如下:
PUT /_snapshot/my_fs_backup
{
"type": "fs",
"settings": {
"location": "/mount/backups/my_fs_backup_location",
"compress": true
}
}
設(shè)置好重啟后依然沒(méi)用,一個(gè)單詞單詞的審查,空格,都排除了,依然沒(méi)用,此時(shí)耗時(shí)20多分鐘,還有一題沒(méi)做就先做最后一題了,最后一題5分鐘就搞定了,剩余大概50分鐘時(shí)間處理此題,當(dāng)時(shí)還是比較緊張的,萬(wàn)一這題搞錯(cuò)有可能就掛了,我就刪除了elasticsearch.yml里面的配置,然后停掉ES,再重新添加了地址,然后再重啟后執(zhí)行上面的語(yǔ)句,竟然OK了,。。。當(dāng)時(shí)那個(gè)激動(dòng)呀,后面就比較順利了。
檢查
答完題后發(fā)現(xiàn)還有30分鐘,就打算檢查一遍,檢查時(shí)也發(fā)現(xiàn)了2個(gè)問(wèn)題,驚出一身冷汗;
有一題貼的JSON格式,少個(gè)大括號(hào)。。。
備份題,備份的名稱(chēng)里面多了一個(gè)"s",簡(jiǎn)直要命。。。
檢查一遍后還是比較放心的,時(shí)間也差不多了就交卷了。
結(jié)果
一般考過(guò)1-3個(gè)工作日結(jié)果就出來(lái)了(ES的工作日),會(huì)有郵件通知,可以下載自己的電子證書(shū)。
然后過(guò)幾天后會(huì)再發(fā)郵件,有2個(gè)勛章快遞過(guò)來(lái)。目前國(guó)內(nèi)通過(guò)人數(shù)還不超過(guò)100人(2020-08-26),大家可以關(guān)注下
總結(jié)
官網(wǎng)文檔要熟悉,知識(shí)點(diǎn)多看十幾遍就知道了,習(xí)題多做3遍以上,能達(dá)到看到題目就知道答案就差不多了,另外考前準(zhǔn)備也很重要,梯子、護(hù)照等,最后,選擇一個(gè)合適的考試時(shí)間就可以了。