經過接近1個月的時間,ElasticSearch6.x實戰教程終於成冊。這本實戰教程小冊有很多不足(甚至可能有錯誤),也是第一次完整推出一個系列的教程。 1年前,我開始真正接觸ES,在此之前僅停留在知道的階段,甚至連瞭解都算不上。1年後跳槽,新的知識新的領域爆炸式的噴涌而出,分散式、ES、Redis ...
經過接近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)