查詢億級數據毫秒級返回!Elasticsearch 是如何做到的?

搜索是現代軟件必備的一項基礎功能,而 Elasticsearch 就是一款功能強大的

開源分佈式搜索與數據分析引擎

它可以從海量數據中快速找到相關信息,在同領域內幾乎沒有競爭對手——近兩年 DBRanking 的數據庫評測中,ES 在搜索引擎領域始終位列第一

當你在 GitHub 上搜索時,Elasticsearch 可以實現代碼級的搜索與高亮顯示 ;當你在網上購物時,ES 可為你推薦喜歡的商品;當你下班打車回家時,ES 可以通過定位附近的乘客和司機,幫助平臺優化調度。

Elasticsearch 還被廣泛運用於大數據近實時分析,包括日誌分析、指標監控、信息安全等多個領域。

它可以探索海量結構化、非結構化數據,按需創建可視化報表,對監控數據設置報警閾值,甚至通過使用機器學習,做到自動識別異常狀況。

作為目前最流行的開源搜索引擎,ES 在全球的下載量已超過 3.5 億次,騰訊、滴滴、今日頭條、餓了麼、360 安全、小米,vivo 等國內諸多知名公司都在使用 Elasticsearch。

Elasticsearch 有什麼特點?

Elasticsearch 非常容易上手,具有開箱即用的特性,你可以在極短的時間內設置好開發環境,然後快速上手使用,繼而在成百上千臺服務器上實現 PB 級的數據處理

雖然上手快,但要做到深入理解並高效使用,可就沒那麼簡單了,比如:

1. 為什麼我的數據查不到,明明是有的啊!

2. 什麼鬼?為什麼這幾條數據出現在搜索結果的前幾位?

3. 生產環境我需要多少臺機器,索引的分片數怎麼樣設置才是合理的?

4. 應該關注哪些指標,才能保證集群健康高效地運行?

5. 對於日誌型應用,如何設置 Hot & Warm Architecture 節約成本,怎樣管理和優化基於時間序列的索引數據,才能提高集群的整體性能?

4. 為什麼我的集群腦裂了?數據損壞後,怎樣才能恢復?

其實,想要掌握 Elasticsearch,除了要理解其分佈式架構的原理外,還要了解一些信息檢索領域的知識和相關技巧

分享給你一張 Elasticsearch 核心知識圖譜,只有對每一個知識點仔細梳理並深入理解,才能解決工作中的實際問題。


查詢億級數據毫秒級返回!Elasticsearch 是如何做到的?


這張圖譜出自阮一鳴,我之前聽過他在 Elastic 中國開發者大會的分享,講得非常不錯。

最近,得知他跟極客時間合作,推出了一門視頻課《Elasticsearch 核心技術與實戰》,號主有幸提前看到了目錄和一部分內容,很想推薦給你。

在課程中,他用理論與實踐相結合的方式、深入淺出地講解了 Elasticsearch,只要你堅持學習,就可以掌握 ES 的基本概念和服務搭建,瞭解其運行機制和常用技巧,並通過上手實戰理解 ES 在實際項目中的應用。

近幾年 ES 非常熱門,所以去年 Elastic 公司推出了官方的 Elastic 工程師認證考試,需要考生在 3 個小時的線上考試中,動手解決 12 個實際問題,就算有多年工作經驗的老手都未必能通過。

所以,這個認證的含金量還是挺高

的,有證跟沒證不僅能力水平可能差一個檔次,收入也有可能差一個檔次。

阮一鳴說,這門課覆蓋了 Elastic 認證考試的全部考點,想參加考試的朋友可以將這門課作為參考教材,這也算是「學習技能之外的 bonus」了。

關於阮一鳴

阮一鳴,eBay Pronto 平臺技術負責人。Pronto 平臺管理了 eBay 內部上百個 Elasticsearch 集群,數據規模超過了 4000 個節點。這些集群在 ebay 的生產環境中,支撐了包括訂單搜索,商品推薦,日誌管理,風險控制,IT 運維,安全監控等不同領域的服務。

作為一名互聯網行業的老兵,他從業近 20 年了,在大數據、雲計算和性能優化方面積累了豐富的經驗。同時,他還是一名連續創業者,創辦過手機遊戲公司、個性化音樂推薦與分享平臺 8box。

他是如何講解 Elasticsearch 的?

如果你對 Elasticsearch 有些瞭解,就會發現 ES 的產品迭代速度非常快,很多老的 API 都已經被廢棄不再使用,搜索到的參數配置也大多發生了變化。

市面上的書籍和教程都是基於 5.x 甚至是 2.x 版本。而在課程中,哥們兒使用 Elasticsearch 最新的 7.1 版本進行教學。

所有 ES 最新版本的特性,在課程裡都會有全面和直觀地展現,比如:用機器學習進行異常檢測;用 Canvas 展示數據;用索引的生命週期管理工具對索引進行優化等等。

結合目錄,我總結了一下,這個課大概分為 5 個部分

1. 初識 Elasticsearch

Elasticsearch 核心概念、工作機制與應用場景;本地開發環境搭建;倒排索引的原理與 ES 中 Analysis 的具體細節;Mapping 設置和一些基本的 Search & Aggregation API。

2. 深入瞭解 Elasticsearch

理解 Elasticsearch 分佈式架構的原理;相關性算分的原理;數據建模的最佳實踐;深入搜索及聚合功能以提高搜索結果的相關度。

3. 管理 Elasticsearch 集群

集群的水平擴展、參數配置、性能優化、故障診斷。

4. 利用 ELK 做大數據分析

結合使用場景和數據,探索 Logstash、Kibana 的各項功能。

5. 應用實戰工作坊

設計了電影搜索和 Stack Overflow 用戶調查問卷數據分析兩個實戰項目,通過上手實踐,你可以鞏固所學的知識點,並運用到實際項目中。

需要什麼基礎,能獲得什麼?

這門課不僅適合有 ES 使用經驗的人,也適合初學者。編程知識和數據庫的相關使用經驗,會對你學習 ES 有一定幫助,但並不是必須的

針對開發人員,搜索是一項被廣泛需要的功能,哥們兒詳細地講解了相關的搜索概念在 Elasticsearch 中是如何對應和具體實現的。

如果你是一名 ES 的運維人員,管理了公司內部的 Elasticsearch 集群:上線前的如何進行容量規劃,上線後如何保證這些集群在生產環境內穩定高效的運行,如何在凌晨識別出異常信號,及時發出告警,以避免災難的發生。

這些問題,他在課程中都會給出相關的最佳實踐

其實,無論是開發還是運維,架構師抑或數據分析師,甚至是產品經理,都應該學一學 Elastic Stack。

在大數據時代,近實時的搜索和分析能力,會讓你唯快不破,洞見未來。——這句 copy 了阮一鳴,要我說其實就是升職加薪走上人生巔峰唄,這話夠實在吧。

跟著好好學,結合課程中的練習和實踐,相信你一定能學以致用,基於 Elasticsearch 構建出你自己的搜索和數據分析產品。

這部分好像寫得有點長啊,要我總結就一句:放心學,學得會,用得著。

查詢億級數據毫秒級返回!Elasticsearch 是如何做到的?

從我這裡訂閱有什麼福利?

1. 早鳥優惠 ¥99,原價 ¥129。

2. 訂閱專欄後,可以獲得阮一鳴親自整理的高清版「Elasticsearch 核心知識圖譜」,獲取方式:在公眾號內回覆關鍵字「ES」。

說了半天,是時候上目錄了,

想要乾貨往下看:

查詢億級數據毫秒級返回!Elasticsearch 是如何做到的?

查詢億級數據毫秒級返回!Elasticsearch 是如何做到的?


分享到:


相關文章: