第五章-简单搜索 众里寻他千百度 搜索是ES的核心,本节讲解一些基本的简单的搜索. 掌握ES搜索查询的RESTful的API犹如掌握关系型数据库的SQL语句,尽管Java客户端API为我们不需要我们去实际编写RESTful的API,但在生产环境中,免不了在线上执行查询语句做数据统计供产品经理等使用. 数据准备 首先创建一个名为user的Index,并创建一个student的Type,Mapping映射一共有如下几个字段: 创建名为user的Index PUT http://localhost:9…
第八章-复杂搜索 黑夜给了我黑色的眼睛,我却用它寻找光明. 经过了解简单的API和简单搜索,已经基本上能应付大部分的使用场景.可是非关系型数据库数据的文档数据往往又多又杂,各种各样冗余的字段,组成了一条"记录".复杂的数据结构,带来的就是复杂的搜索.所以在进入本章节前,我们要构建一个尽可能"复杂"的数据结构. 下面分为两个场景,场景1偏向数据结构上的复杂并且介绍聚合查询.指定字段返回.深分页,场景2偏向搜索精度上的复杂. 场景1 存储一个公司的员工,员工信息包含姓名…
经过接近1个月的时间,ElasticSearch6.x实战教程终于成册.这本实战教程小册有很多不足(甚至可能有错误),也是第一次完整推出一个系列的教程. 1年前,我开始真正接触ES,在此之前仅停留在知道的阶段,甚至连了解都算不上.1年后跳槽,新的知识新的领域爆炸式的喷涌而出,分布式.ES.Redis.分库分表.RPC.binlog等等,一时间有点兴奋也有点不知所措.1年后选择开始写<ElasticSearch6.x实战教程>正是基于这一年时间对ES的基础和沉淀所写,在刚开始接触ES时,尽管有h…
第四章-分词 下雨天留客天留我不留 本打算先介绍"简单搜索",对ES的搜索有一个直观的感受.但在写的过程中发现分词无论如何都绕不过去.term查询,match查询都与分词息息相关,索性先介绍分词. ES作为一个开源的搜索引擎,其核心自然在于搜索,而搜索不同于我们在MySQL中的select查询语句,无论我们在百度搜索一个关键字,或者在京东搜索一个商品时,常常无法很准确的给出一个关键字,例如我们在百度希望搜索"Java教程",我们希望结果是"Java教程&q…
第一章-准备工作 工欲善其事必先利其器 ElasticSearch安装 ElasticSearch6.3.2下载地址(Linux.mac OS.Windows通用,下载zip包即可):https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-3-2.ES历史版本下载页面:https://www.elastic.co/cn/downloads/past-releases#elasticsearch. 在正式安装前,你需要确保…
第三章-简单的API 万丈高楼平地起 ES提供了多种操作数据的方式,其中较为常见的方式就是RESTful风格的API. 简单的体验 利用Postman发起HTTP请求(当然也可以在命令行中使用curl命令). 索引Index 创建索引 创建一个名叫demo的索引: PUT http://localhost:9200/demo ES响应: { "acknowledged": true, "shards_acknowledged": true, "index&…
第七章-父-子关系文档 打虎亲兄弟,上阵父子兵. 本章作为复杂搜索的铺垫,介绍父子文档是为了更好的介绍复杂场景下的ES操作. 在非关系型数据库数据库中,我们常常会有表与表的关联查询.例如学生表和成绩表的关联查询就能查出学会的信息和成绩信息.在ES中,父子关系文档就类似于表的关联查询. 背景 ES5.x开始借助父子关系文档实现多表关联查询,核心是一个索引Index下可以创建多个类型Type.但ES6.x开始只允许一个索引Index下创建一个类型Type,甚至在未来的版本中将会移除创建类型Type.…
第十章-实战:ELK日志分析系统 ElasticSearch.Logstash.Kibana简称ELK系统,主要用于日志的收集与分析. 一个完整的大型分布式系统,会有很多与业务不相关的系统,其中日志系统是不可或缺的一个,集中式日志系统需要收集来自不同服务的日志,对它进行集中管理存储以及分析.ELK就是这样一个系统. ElasticSearch是一个开源分布式搜索引擎,在ELK系统中提供对数据的搜索.分析.存储. Logstash主要用于日志的收集,在ELK系统中作为日志数据源的传输. Kiban…
.Net Core实战教程(一):Linux下搭建项目 附言 .net core 1.0的时候就开始关注了,一直没有用于项目.真正用于项目我是2.0开始使用的.这几年也总结出一些经验.最近有空就写出来与大家分享交流. 准备 安装VMware虚拟机,我用的是12版本. 安装CentOS7操作系统 安装SecureCRT连接Linux使用 安装Visual Studio 2017开发代码使用 安装DotNetCore运行环境 打开微软官方网站 https://dotnet.microsoft.com…
岁末主推:牛牛老师主讲,多用户博客系统,基于ASP.NET技术,年后将带来移动业务平台项目项目目标: 打造个性品牌Blogo,定制多用户博客 为每一个博客用户提供个性化的 blogo解决方案,打造精品blogo门户网站  环境:VS2008+SQL Server2005 [小编推荐:现在学习可以使用 VS2012或者以上+SQL 2008或及以上  环境不一定必须和教程一样,学习的是思路]主要技术: 主体框架:逻辑架构ASP.NET MVC,物理架构Three Ties,2者相结合. 为了提高网…