经过接近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实战教程》正式推出(附图书抽奖)的更多相关文章

  1. 《ElasticSearch6.x实战教程》之准备工作、基本术语

    第一章-准备工作 工欲善其事必先利其器 ElasticSearch安装 ElasticSearch6.3.2下载地址(Linux.mac OS.Windows通用,下载zip包即可):https:// ...

  2. 《ElasticSearch6.x实战教程》之父-子关系文档

    第七章-父-子关系文档 打虎亲兄弟,上阵父子兵. 本章作为复杂搜索的铺垫,介绍父子文档是为了更好的介绍复杂场景下的ES操作. 在非关系型数据库数据库中,我们常常会有表与表的关联查询.例如学生表和成绩表 ...

  3. 《ElasticSearch6.x实战教程》之复杂搜索、Java客户端(下)

    第八章-复杂搜索 黑夜给了我黑色的眼睛,我却用它寻找光明. 经过了解简单的API和简单搜索,已经基本上能应付大部分的使用场景.可是非关系型数据库数据的文档数据往往又多又杂,各种各样冗余的字段,组成了一 ...

  4. 《Java8 Stream编码实战》正式推出

    ​当我第一次在项目代码中看到Stream流的时候,心里不由得骂了一句"傻X"炫什么技.当我开始尝试在代码中使用Stream时,不由得感叹真香. 记得以前有朋友聊天说,他在代码中用了 ...

  5. 《软件性能测试与LoadRunner实战教程》喜马拉雅有声图书上线

    工作忙的同学们有福了,可以听书了. 于涌老师的<软件性能测试与LoadRunner实战教程>喜马拉雅有声图书上线.

  6. 《ElasticSearch6.x实战教程》之简单的API

    第三章-简单的API 万丈高楼平地起 ES提供了多种操作数据的方式,其中较为常见的方式就是RESTful风格的API. 简单的体验 利用Postman发起HTTP请求(当然也可以在命令行中使用curl ...

  7. 《ElasticSearch6.x实战教程》之分词

    第四章-分词 下雨天留客天留我不留 本打算先介绍"简单搜索",对ES的搜索有一个直观的感受.但在写的过程中发现分词无论如何都绕不过去.term查询,match查询都与分词息息相关, ...

  8. 《ElasticSearch6.x实战教程》之简单搜索、Java客户端(上)

    第五章-简单搜索 众里寻他千百度 搜索是ES的核心,本节讲解一些基本的简单的搜索. 掌握ES搜索查询的RESTful的API犹如掌握关系型数据库的SQL语句,尽管Java客户端API为我们不需要我们去 ...

  9. 《ElasticSearch6.x实战教程》之实战ELK日志分析系统、多数据源同步

    第十章-实战:ELK日志分析系统 ElasticSearch.Logstash.Kibana简称ELK系统,主要用于日志的收集与分析. 一个完整的大型分布式系统,会有很多与业务不相关的系统,其中日志系 ...

随机推荐

  1. .Net Core 中使用PetaPoco ,T4生成模版

    话不多说,直接上源码. 1.引用NuGet 2.添加T4 <#@ template debug="true" hostspecific="false" l ...

  2. HBuilder打包App流程记录

    摘要:基于HBuilder建立一个简单的移动app项目,并打包成apk,使用这套平台用H5开发真正的移动项目,相当于省去了原生部分的人力和工作配合,性能的话,后续我会基于这套技术开发相关的应用来验证, ...

  3. 浅谈.NET编译时注入(C#-->IL)

    原文:浅谈.NET编译时注入(C#-->IL) .NET是一门多语言平台,这是我们所众所周知的,其实现原理在于因为了MSIL(微软中间语言)的一种代码指令平台.所以.NET语言的编译就分为了两部 ...

  4. HLS(HTTP Live Streaming)学习和探讨

    Introduction HTTP Live Streaming lets you send audio and video over HTTP from an ordinary web server ...

  5. 恢复Win10照片查看器

    批处理文件: @echo off&cd\&color 0a&cls echo 恢复Win10照片查看器 reg add "HKLM\SOFTWARE\Microsof ...

  6. NULL指针区域(NULL定义为0-65535之间的任何数都可以)

    NULL指针区域0x00000000-0x0000FFFF:65535字节 这个区域的作用是用来帮助程序员发现内存分配失败后未检查就使用的错误.比如使用malloc分配内存失败,返回NULL,而又未做 ...

  7. Delphi用Socket API实现路由追踪

    Windows自带的Tracert是向远程主机发送ICMP包进行追踪,但是目前很多主机关闭了ICMP答复,这个工具不太好使了~~~~~原理咱知道,正规的Trace不就是发送TTL依次递增的UDP包吗? ...

  8. 用vs2010编译好的ICU库

    1.ICU库的官网网址为http://site.icu-project.org/ 2.ICU(International Components for Unicode)是一个国际化的字符编码和转化的库 ...

  9. 深入浅出RPC——深入篇(转载)

    本文转载自这里是原文 <深入篇>我们主要围绕 RPC 的功能目标和实现考量去展开,一个基本的 RPC 框架应该提供什么功能,满足什么要求以及如何去实现它? RPC 功能目标 RPC的主要功 ...

  10. Oracle数据库备份和恢复的基本命令

    Oracle数据库备份与恢复基本命令 1. 获取帮助 $ exp help=y $ imp help=y 2.三种工作方式 (1)交互式方式 $ exp 然后按提示输入所需要的参数 (2)命令行方式 ...