《ElasticSearch6.x实战教程》正式推出(附图书抽奖)
经过接近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)

《ElasticSearch6.x实战教程》正式推出(附图书抽奖)的更多相关文章
- 《ElasticSearch6.x实战教程》之准备工作、基本术语
第一章-准备工作 工欲善其事必先利其器 ElasticSearch安装 ElasticSearch6.3.2下载地址(Linux.mac OS.Windows通用,下载zip包即可):https:// ...
- 《ElasticSearch6.x实战教程》之父-子关系文档
第七章-父-子关系文档 打虎亲兄弟,上阵父子兵. 本章作为复杂搜索的铺垫,介绍父子文档是为了更好的介绍复杂场景下的ES操作. 在非关系型数据库数据库中,我们常常会有表与表的关联查询.例如学生表和成绩表 ...
- 《ElasticSearch6.x实战教程》之复杂搜索、Java客户端(下)
第八章-复杂搜索 黑夜给了我黑色的眼睛,我却用它寻找光明. 经过了解简单的API和简单搜索,已经基本上能应付大部分的使用场景.可是非关系型数据库数据的文档数据往往又多又杂,各种各样冗余的字段,组成了一 ...
- 《Java8 Stream编码实战》正式推出
当我第一次在项目代码中看到Stream流的时候,心里不由得骂了一句"傻X"炫什么技.当我开始尝试在代码中使用Stream时,不由得感叹真香. 记得以前有朋友聊天说,他在代码中用了 ...
- 《软件性能测试与LoadRunner实战教程》喜马拉雅有声图书上线
工作忙的同学们有福了,可以听书了. 于涌老师的<软件性能测试与LoadRunner实战教程>喜马拉雅有声图书上线.
- 《ElasticSearch6.x实战教程》之简单的API
第三章-简单的API 万丈高楼平地起 ES提供了多种操作数据的方式,其中较为常见的方式就是RESTful风格的API. 简单的体验 利用Postman发起HTTP请求(当然也可以在命令行中使用curl ...
- 《ElasticSearch6.x实战教程》之分词
第四章-分词 下雨天留客天留我不留 本打算先介绍"简单搜索",对ES的搜索有一个直观的感受.但在写的过程中发现分词无论如何都绕不过去.term查询,match查询都与分词息息相关, ...
- 《ElasticSearch6.x实战教程》之简单搜索、Java客户端(上)
第五章-简单搜索 众里寻他千百度 搜索是ES的核心,本节讲解一些基本的简单的搜索. 掌握ES搜索查询的RESTful的API犹如掌握关系型数据库的SQL语句,尽管Java客户端API为我们不需要我们去 ...
- 《ElasticSearch6.x实战教程》之实战ELK日志分析系统、多数据源同步
第十章-实战:ELK日志分析系统 ElasticSearch.Logstash.Kibana简称ELK系统,主要用于日志的收集与分析. 一个完整的大型分布式系统,会有很多与业务不相关的系统,其中日志系 ...
随机推荐
- Gralde 网络代理
Gralde 网络代理 Gradle在编译项目的时候,需要下载一些依赖.墙外的网络就需要设置代理了. 设置的方法,见文档: Accessing the web through a HTTP proxy ...
- Win8 Metro(C#)数字图像处理--2.43图像马赛克效果算法
原文:Win8 Metro(C#)数字图像处理--2.43图像马赛克效果算法 [函数名称] 图像马赛克效果 MosaicProcess(WriteableBitmap src, i ...
- java中==和equels的区别
起初接触java的时候这个问题还是比较迷茫的,最近上班之余刷博客的时候看了一些大神写的文章,自己也来总结一下,直接贴代码: package string; public class demo1 { p ...
- Android零基础入门第22节:ImageView的属性和方法大全
原文:Android零基础入门第22节:ImageView的属性和方法大全 通过前面几期的学习,TextView控件及其子控件基本学习完成,可以在Android屏幕上显示一些文字或者按钮,那么从本期开 ...
- python 动态调用模块&类&方法
转载自:http://www.cnblogs.com/bluefrog/archive/2012/05/11/2496439.html 一直想知道python里有没有类似php中的 $classnam ...
- Delphi类与方法(几十篇)
http://www.cnblogs.com/del/category/114896.html
- Codility----PassingCars
Task description A non-empty zero-indexed array A consisting of N integers is given. The consecutive ...
- Linux基础(二)
网卡的启动与关闭 ipup ens33 启动网卡 ifdown 关闭网卡 普通用户没有该权限 root用户,管理员,普通用户的权限 root 至高无上的 root用户所在的组是root组 管理员 ...
- Day1_Python学习
内容目录 1.变量和常量 2.用户输入 3.getpass模块 4.表达式if...else 5.表达式while 6.表达式for 一.变量和常量 声明变量: name = "Jeffer ...
- 移动IM开发指南2:心跳指令详解
<移动IM开发指南>系列文章将会介绍一个IM APP的方方面面,包括技术选型.登陆优化等.此外,本文作者会结合他在网易云信多年iOS IM SDK开发的经验,深度分析实际开发中的各种常见问 ...