經過接近1個月的時間,ElasticSearch6.x實戰教程終於成冊。這本實戰教程小冊有很多不足(甚至可能有錯誤),也是第一次完整推出一個系列的教程。
1年前,我開始真正接觸ES,在此之前僅停留在知道的階段,甚至連了解都算不上。1年後跳槽,新的知識新的領域爆炸式的噴湧而出,分散式、ES、Redis、分庫分表、RPC、binlog等等,一時間有點興奮也有點不知所措。1年後選擇開始寫《ElasticSearch6.x實戰教程》正是基於這一年時間對ES的基礎和沉澱所寫,在剛開始接觸ES時,儘管有head外掛輔助,但常常仍然需要自己手寫DSL語句查詢自己想要的結果,我面臨ES不會寫DSL語句的境地,只能求證於他人以及搜尋引擎。也有需要新增欄位,但仍然不瞭解語法結構不知道從何寫起。搜尋"洗面奶"出現"麵粉",深分頁的問題(不同於一般教程的教程scroll方式),等等。
1年後,我決定寫一個《ElasticSearch6.x實戰教程》小冊,一是以後的時間自己能隨時快速翻閱一些常見語法,二是能為廣大正想接觸ES的小白提供一個參考。
這次,我另外還做了一個決定,關注公眾號(CoderBuff)回覆“抽獎”(時間7.17-7.21)會有圖書抽獎活動,抽取的圖書是《從Lucene到Elasticsearch:全文檢索實戰》,經費來源於上月公眾號(CoderBuff)廣告收益所得,為了感謝大家對CoderBuff的支援。
實戰教程小冊正文一共11個章節,最後兩個章節是"實戰"章節。
講解ES在mac OS環境(Linux同mac OS)下的安裝部署。
基本術語
與傳統的關係型資料庫作對比,簡單介紹在ES中的一些術語,看不懂沒關係,直接進入下一章的操作也可以。
簡單API
這章介紹一些最簡單的ES語法,建立索引,定義欄位,插入資料等等。
分詞
我們使用ES不可避免要使用到中文搜尋,中文搜尋不可避免需要分詞,在正式進入搜尋章節前需要了解ES中的分詞器。
簡單搜尋
本章節的搜尋比較簡單,不會涉及太多的查詢,也不會涉及搜尋精度上的問題。
Java客戶端(上)
通過Spring Data ElasticSearch和ElasticSearch 提供的Java API見證如何使用Java操作ES,均有完整程式碼。
父-子關係文件
ES6.x要求一個索引Index只能建立一個型別Type,關係文件這一在ES5中出現的概念卻要求在兩個型別Type中關聯,在ES6.x中如何建立父子關係文件,以及它們的使用場景又是如何。
複雜搜尋
在現實中的搜尋中往往會遇到更為嚴峻的條件,面臨業務方和客戶的嚴苛要求,搜尋精度的問題,關係查詢等等都是需要面臨的挑戰。
Java客戶端(下)
本章不再貼出詳細的程式碼,但仍然在GitHub中完整程式碼,一定配合原始碼琢磨。
實戰:ELK日誌分析系統、多資料來源同步
最後兩個章節是實戰章節,其中的多資料來源同步問題儘管沒有給出詳細的教程,但仍然給出了架構圖。
《ElasticSearch6.x實戰教程》將會在接下來的10天時間中按章節逐一推送,等不及的朋友可在公眾號(CoderBuff)中回覆"es"獲取PDF完整電子版,回覆“抽獎”進入抽獎活動。
這是一個能給程式設計師加buff的公眾號 (CoderBuff)