通過接近1個月的時間,ElasticSearch6.x實戰教程終於成冊。這本實戰教程小冊有不少不足(甚至可能有錯誤),也是第一次完整推出一個系列的教程。html
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中的一些術語,看不懂不要緊,直接進入下一章的操做也能夠。spa
這章介紹一些最簡單的ES語法,建立索引,定義字段,插入數據等等。插件
咱們使用ES不可避免要使用到中文搜索,中文搜索不可避免須要分詞,在正式進入搜索章節前須要瞭解ES中的分詞器。日誌
本章節的搜索比較簡單,不會涉及太多的查詢,也不會涉及搜索精度上的問題。htm
經過Spring Data ElasticSearch和ElasticSearch 提供的Java API見證如何使用Java操做ES,均有完整代碼。
ES6.x要求一個索引Index只能建立一個類型Type,關係文檔這一在ES5中出現的概念卻要求在兩個類型Type中關聯,在ES6.x中如何建立父子關係文檔,以及它們的使用場景又是如何。
在現實中的搜索中每每會遇到更爲嚴峻的條件,面臨業務方和客戶的嚴苛要求,搜索精度的問題,關係查詢等等都是須要面臨的挑戰。
本章再也不貼出詳細的代碼,但仍然在GitHub中完整代碼,必定配合源碼琢磨。
最後兩個章節是實戰章節,其中的多數據源同步問題儘管沒有給出詳細的教程,但仍然給出了架構圖。
《ElasticSearch6.x實戰教程》將會在接下來的10天時間中按章節逐一推送,等不及的朋友可在公衆號(CoderBuff)中回覆"es"獲取PDF完整電子版。
這是一個能給程序員加buff的公衆號 (CoderBuff)