《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系统,主要用于日志的收集与分析. 一个完整的大型分布式系统,会有很多与业务不相关的系统,其中日志系 ...
随机推荐
- laravel在wamp中输入地址后总是无法访问
在wamp中的apache中conf的httpd.conf #LoadModule rewrite_module modules/mod_rewrite.so 改为 LoadModule rewrit ...
- 在2005年,Unicode 的第十万个字符被采纳且认可成为标准之一(超过这65535范围的Unicode字符,则需要使用一些诡异的技巧来实现)
在计算机科学领域中,Unicode(统一码.万国码.单一码.标准万国码)是业界的一种标准,它可以使电脑得以体现世界上数十种文字的系统.Unicode 是基于通用字符集(Universal Charac ...
- socket编程详解,转自http://www.sme-cn.com:82/archives/669
一 Socket简介 Socket翻译过来是套接字,具体含义可自行百度,简言之就是IP:Port的组合,是网络通信的一个窗口,IP就是地址和门牌号(比如长沙市韶山北路81号),Port就是房间号(比 ...
- qt mingw64版本编译报错:incorrect register `%rax' used with `l' suffix(movl要改成mov)
环境:WIN10 编译器:mingw64的g++.exe 我的目的是把程序编译成64bit版本的,所以一开始遇到该错误是丈二和尚摸不着头脑,google了一圈也没找到准确的答案.后来从某些回答中大概发 ...
- eclipse 插件编写(四)
前言 前面几篇文章讲了下如果编写简单的eclipse插件,如创建插件项目.编写右键弹出菜单等功能,接下来主要写一下如何生成代码的功能,这一片的功能跟插件本身的编写关联不太大,主要处理插件之后的业务内容 ...
- 华为虚拟机结合VMware搭建环境测试snmp
最近在研究zabbix监控,在实际生产环节中,我们不单单是需要对linux主机进行监控还需要对网络设备防火墙等等进行监控,那么在linux主机上我们可以安装zabbix-agernt,但是在路由器交换 ...
- 在Window和Linux下使用Zthread库(跨平台高级面向对象的线性和sycnchronization 库)
ZThread库是一个开源的跨平台高级面向对象的线性和sycnchronization 库,以运行POSIX 和Win32 系统中的C++程序. ZThread库的主页:http://zthread. ...
- Qt中连接到同一signal的多个slots的执行顺序问题(现在是看连接顺序,以前是无序的)
in the order they have been connected 起源 前些天忘记在哪儿讨论过这个问题,今天在csdn又看到有网友问这个问题,而其他网友却无一例外的给出了“无序”这个答案. ...
- Bamboo 0.2.11 发布,HAProxy 自动配置
Bamboo 0.2.11 发布,此版本更新内容如下: 新特性 提供更多的模板字符串函数:strings.Split, strings.Join,strings.Replace, strings.T ...
- 使用mingw编译完整Qt5的过程(使用了niXman的msys套装)good
使用mingw编译完整Qt5的过程 坛子里似乎已经有人编译出Qt5了,不过大多有问题,不是缺少opengl就是缺少openssl,还有缺少webkit的,本文提供的仍然不能说是绝对完整的,不过相对以前 ...