通过官方文档高效学习ElasticSearch的JavaAPI实现!
[#](#一-概述) (一)概述 {#一-概述} ------------------------ 有人说学习一项技术最好的资料是官方文档,对大部分技术来说确实是这样的。但是官方文档不一定适合每个人去看,比如一个初学者,直接让他看Spring的官方文档,其实是不合适的。今天我会结合ElasticSearch的一个客户端官方文档介绍ES在Java中的API应用。 官方文档不一...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ 有人说学习一项技术最好的资料是官方文档,对大部分技术来说确实是这样的。但是官方文档不一定适合每个人去看,比如一个初学者,直接让他看Spring的官方文档,其实是不合适的。今天我会结合ElasticSearch的一个客户端官方文档介绍ES在Java中的API应用。 官方文档不一...
[#](#一-介绍) (一)介绍 {#一-介绍} ------------------------ 在大多数系统中,都需要支持搜索的功能,以简单博客系统为例,虽然说Mysql也可以通过模糊查询匹配到对应的数据,但是效率实在太低。这个时候就需要拿出分布式搜索引擎**ElasticSearch**了。本博客重点在于ES的集成使用,因此前端采用最简单的方式呈现,大家只需要关注后端逻...
[#](#一-es如何存储对象) (一)ES如何存储对象 {#一-es如何存储对象} ------------------------------------------ ElasticSearch中可以将数据以对象的方式存储并查询,但是ES底层的Lucene 没有内部对象的概念,因此如果通过默认的方式往ES中插入对象,ES会将对象层次结构扁平化为字段名称和值的简单列表。 比...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ 前段时间公司规划了一个新的项目,我成了这个项目的负责人。在做技术选型时,有一个需求阻碍了前进的步伐。大概有十亿条数据,数据总量在六百G左右,这些海量的数据需要每天根据一定的逻辑计算得到几千万的值。当数据量达到这种程度时,Java应用已经无法支撑了,于是在技术选型时选中了大数据计...
[#](#前言) 前言 {#前言} ----------------- 之前项目里用的ES一直是7.6.2版本,后来得到通知需要将集群升级到7.17.13,因此写下这篇文章做个记录。 [#](#前期准备) 前期准备 {#前期准备} ----------------------- 升级版本:7.6.2 -\> 7.17.13 机器数量:三台Linux服务器组成的集群...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ Spark计算框架封装了三种主要的数据结构:RDD(弹性分布式数据集)、累加器(分布式共享只写变量)、广播变量(分布式共享支只读变量) [#](#二-rdd) (二)RDD {#二-rdd} --------------------------- RDD:弹性分布式数据集是...
[#](#一-什么是kafka) (一)什么是Kafka {#一-什么是kafka} ------------------------------------------ Kafka是一个分布式的基于**发布/订阅模式**的消息队列,同时它又是一个分布式的事件流平台。既可作为消息队列,又可作为数据管道、流分析的应用。目前Kafka的最大应用还是消息队列。 市面上主流的消息队...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ SparkSQL可以理解为在原生的RDD上做的一层封装,通过SparkSQL可以在scala和java中写SQL语句,并将结果作为Dataset/DataFrame返回。简单来讲,SparkSQL可以让我们像写SQL一样去处理内存中的数据。 Dataset是一个数据的分布式集...
[#](#一-生产者的原理) (一)生产者的原理 {#一-生产者的原理} ------------------------------------ 当有数据要从生产者发往消费者的时候,在kafka底层有这样一套流程。首先生产者调用send方法发送消息后,会先经过一层拦截器,接着进入序列化器。序列化器主要用于对消息的Key和Value进行序列化。接着进入分区器选择消息的分区。 ...
[#](#概述) 概述 {#概述} ----------------- 事情的起因要从最近的一个新产品说起,最近部门有一个新的大数据产品规划,在考虑技术实现时,有一个动态表字段扩展的需求,比如原来表结构里只有a、b字段,需要不断的往里新增c、d、e等等字段,并且数据量也特别大。 于是就去寻找实现方案,针对这种数据模型无法确定的情况,非关系型数据库是比较合适的,于是找到了Mo...