《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系统,主要用于日志的收集与分析. 一个完整的大型分布式系统,会有很多与业务不相关的系统,其中日志系 ...
随机推荐
- android studio 3.0+发布签名apk注意的情况
在build.gradle for module文件中添加 lintOptions { checkReleaseBuilds false abortOnError false } 这样避免失败
- 微信小程序把玩(三)tabBar底部导航
原文:微信小程序把玩(三)tabBar底部导航 tabBar相对而言用的还是比较多的,但是用起来并没有难,在app.json中配置下tabBar即可,注意tabBar至少需要两个最多五个Item选项 ...
- 零元学Expression Blend 4 - Chapter 12 用实例了解布局容器系列-「Viewbox」
原文:零元学Expression Blend 4 - Chapter 12 用实例了解布局容器系列-「Viewbox」 本系列将教大家以实做案例认识Blend 4 的布局容器,此章介绍的布局容器是Bl ...
- VCL的通用属性,方法和事件 good
Action 一些组件标识与组件相连接的活动对象Align 一些组件确定组件在父类组件区内的对齐方式Anchors 大部分组件说明与组件连接的窗体的位置点AutoSize 一些组件说明组件是否可根据内 ...
- gcc与vs2013的三个charset编译选项
以gcc为例,它有三个命令选项:-finput-charset=gb18030-fexec-charset=utf-8-fwide-exec-charset=utf32顾名思议,input-chars ...
- PyCharm安装MicroPython插件
转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 前言 PyCharm可以说是当今最流行的一款Pyth ...
- Qt在Windows上的调试器安装与配置
如果安装Qt时使用的是Visual Studio的预编译版,那么很有可能就会缺少调试器(Debugger),而使用MSVC的Qt对应的原生调试器是CDB(对应MinGW的Qt使用GDB调试器).本文介 ...
- Android无布局文件下自定义通知栏notification的 icon
在开发项目一个与通知栏有关的功能时,由于自己的项目是基于插件形式的所以无法引入系统可用的布局文件,这样无法自定义布局,造成无法自定义通知栏的icon. 在网上也有一种不用布局文件更换icon的方法,但 ...
- list 多行表头 表头合并
http://blog.csdn.net/safedebug/article/details/52971685
- Python正则表达式进阶-零宽断言
1. 什么是零宽断言 有时候在使用正则表达式做匹配的时候,我们希望匹配一个字符串,这个字符串的前面或后面需要是特定的内容,但我们又不想要前面或后面的这个特定的内容,这时候就需要零宽断言的帮助了.所谓零 ...