天天看點

花了20天的時間給粉絲整理的一套“最全“的Java求職筆記(九)1為什麼寫這套Java求職筆記2Elasticsearch技術知識大綱3一文徹底搞懂實時全文搜尋引擎[Elasticsearch]4結束語5個人說明

前言:前幾天有粉絲問我,網上java面試題總是參差不齊,希望我為他整理一套全面的java面試題,并且這套java面試題有個要求,必須能夠讓他20天就能看完這些面試題,他說現在很多面試題我看都得看3個月才能看完,然後我才能去找工作,但是自己得時間有限是以想讓我幫他總結一套萬能面試java求職筆記。接下來我将會至少分為12個章節進行闡述這套Java求職筆記,感興趣的可以堅持看完!覺得不錯的可以點個贊。

1為什麼寫這套Java求職筆記

很早的時候我就想寫一些Java求職方向的一些文章,由于很長時間耽擱了加上,有粉絲背景問我,可不可以幫他總結一些java求職筆記,他看了很多Java技術有很多技術,很迷茫不知道學哪些,我笑着說,不要着急,無論你到什麼時候你都會迷茫,因為技術一直在更新,謝謝你信任我,解救你的迷茫唯一辦法就是多看LRyab部落格,就是這樣我帶着粉絲的問題,開始編寫了這套Java求職筆記,看完這套求職筆記,我相信很多人都會找到屬于自己的心儀工作。

2Elasticsearch技術知識大綱

花了20天的時間給粉絲整理的一套“最全“的Java求職筆記(九)1為什麼寫這套Java求職筆記2Elasticsearch技術知識大綱3一文徹底搞懂實時全文搜尋引擎[Elasticsearch]4結束語5個人說明

3一文徹底搞懂實時全文搜尋引擎[Elasticsearch]

3.1Elasticsearch的功能、使用場景以及特點(了解)

什麼是Elasticsearch

Elasticsearch 是基于 Lucene 的 Restful 的分布式實時全文搜尋引擎,每個字段都被索引并可被搜尋,可以快速存儲、搜尋、分析海量的資料。

全文檢索是指對每一個詞建立一個索引,指明該詞在文章中出現的次數和位置。當查詢時,根據事先建立的索引進行查找,并将查找的結果回報給使用者的檢索方式。這個過程類似于通過字典中的檢索字表查字的過程。

Elasticsearch的功能

(1)分布式的搜尋引擎和資料分析引擎

搜尋:百度,網站的站内搜尋,IT系統的檢索

資料分析:電商網站,最近7天牙膏這種商品銷量排名前10的商家有哪些;新聞網站,最近1個月通路量排名前3

的新聞版塊是哪些

分布式,搜尋,資料分析

(2)全文檢索,結構化檢索,資料分析

全文檢索:我想搜尋商品名稱包含牙膏的商品,select * from products where product_name like "%牙膏%"

結構化檢索:我想搜尋商品分類為日化用品的商品都有哪些,select * from products where category_id='日化用品' 部分比對、自動完成、搜尋糾錯、搜尋推薦

資料分析:我們分析每一個商品分類下有多少個商品,select category_id,count(*) from products group by category_id

(3)對海量資料進行近實時的處理

分布式:ES自動可以将海量資料分散到多台伺服器上去存儲和檢索

海量資料的處理:分布式以後,就可以采用大量的伺服器去存儲和檢索資料,自然而然就可以實作海量資料的處理了

近實時:檢索個資料要花費1小時(這就不要近實時,離線批處理,batch-processing);在秒級别對資料進行

搜尋和分析

跟分布式/海量資料相反的:lucene,單機應用,隻能在單台伺服器上使用,最多隻能處理單台伺服器可以處理的資料量

Elasticsearch的适用場景

國外

(1)維基百科,類似百度百科,牙膏,牙膏的維基百科,全文檢索,高亮,搜尋推薦

(2)The Guardian(國外新聞網站),類似搜狐新聞,使用者行為日志(點選,浏覽,收藏,評論)+社交網絡

資料(對某某新聞的相關看法),資料分析,給到每篇新聞文章的作者,讓他知道他的文章的公衆回報(好,

壞,熱門,垃圾,鄙視,崇拜)

(3)Stack Overflow(國外的程式異常讨論論壇),IT問題,程式的報錯,送出上去,有人會跟你讨論和回答,全文檢索,搜尋相關問題和答案,程式報錯了,就會将報錯資訊粘貼到裡面去,搜尋有沒有對應的答案

(4)GitHub(開源代碼管理),搜尋上千億行代碼

(5)電商網站,檢索商品

(6)日志資料分析,logstash采集日志,ES進行複雜的資料分析(ELK技術,elasticsearch+logstash+kibana)

(7)商品價格監控網站,使用者設定某商品的價格門檻值,當低于該門檻值的時候,發送通知消息給使用者,比如說訂閱牙膏的監控,如果高露潔牙膏的家庭套裝低于50塊錢,就通知我,我就去買

(8)BI系統,商業智能,Business Intelligence。比如說有個大型商場集團,BI,分析一下某某區域最近3年的使用者消費金額的趨勢以及使用者群體的組成構成,産出相關的數張報表,**區,最近3年,每年消費金額呈現100%的增長,而且使用者群體85%是進階白領,開一個新商場。ES執行資料分析和挖掘,Kibana進行資料可視化

國内

(9)國内:站内搜尋(電商,招聘,門戶,等等),IT系統搜尋(OA,CRM,ERP,等等),資料分析(ES熱門的一個使用場景)

Elasticsearch的特點

(1)可以作為一個大型分布式叢集(數百台伺服器)技術,處理PB級資料,服務大公司;也可以運作在單機上,服務小公司

(2)Elasticsearch不是什麼新技術,主要是将全文檢索、資料分析以及分布式技術,合并在了一起,才形成了獨一無二的ES;lucene(全文檢索),商用的資料分析軟體(也是有的),分布式資料庫(mycat)

(3)對使用者而言,是開箱即用的,非常簡單,作為中小型的應用,直接3分鐘部署一下ES,就可以作為生産環境的系統來使用了,資料量不大,操作不是太複雜

(4)資料庫的功能面對很多領域是不夠用的(事務,還有各種聯機事務型的操作);特殊的功能,比如全文檢索,同義詞處理,相關度排名,複雜資料分析,海量資料的近實時處理;Elasticsearch作為傳統資料庫的一個補充,提供了資料庫所不能提供的很多功能

Elasticsearch存儲在你的磁盤上,預設情況下是在你的 elasticsearch 安裝目錄下的 data 目錄下,MySQL 也是如此。如果想修改它的預設位置,可改下 elasticsearch 的預設配置項, config/elasticsearch.yml 檔案下可發現這個配置項并作相應的修改。

4結束語

我很笨,但我可以很勤奮,肯下笨功夫,就能打赢一場硬仗。

5個人說明

我是LRyab部落格,專注電商項目實戰開發,擅長網站搭建與技術問題指導,經驗是由一點一點積累的,思維也是由一天一天訓練出來的。謝謝大家的閱讀,原創不易,如果你認為文章對你有所幫助,就點個贊感謝大家支援,你的點贊是我持續寫作的動力!