通过接近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)