elasticsearch的学习(四):elasticsearch的一些基本概念

简介

elasticsearch的一些基本概念。

核心概念

索引:一个拥有相似特征的文档的集合。

类型:在索引中定义,是索引的一个逻辑上的分类,版本7以上已经弃用了。

文档:可被索引的基础信息单元,即一条数据,是json格式的。

字段:对文档数据根据不同的属性进行分类的标识

映射:处理数据的方式,规则方面的限制。比如字段的类型,默认值,是否被索引等。

分片:将索引划分为多份,每一份就是一个分片。在创建索引的时候可以指定分片的数量,每个分片也是一个功能完善且独立的索引,可以被放置到集群中的任何节点上。

好处:可以水平分割数据,扩展内容的容量;可以在分片上进行分布式的,并行的操作,提高es的性能和吞吐量。

副本:分片的拷贝,作为备份。

好处:高可用性,副本和源分片不在同一个节点上;可以在副本上进行搜索,提高了es的吞吐量

分配:由master来进行将分片,副本分配到某个节点,分片和副本之间的复制也由master负责。

创建分片

在创建索引的时候,使用postman发送put请求:http://localhost:9201/student

创建student索引,在postman的body中添加

bash 复制代码
{
    "settings":{
        "number_of_shards":3,
        "number_of_replicas":1
    }
}

表示创建3个分片,一个副本。

在增加节点的时候,会自动的分配分片和副本到新的节点上

修改分片数

在运行的集群上是可以动态的调整副本数的(分片数是不能改的),可以按需伸缩集群。

postman发送put请求:http://localhost:9201/student/_settings

body中:

bash 复制代码
{
        "number_of_replicas":2
}

查看集群信息

使用postman发送get请求:http://localhost:9201/_cat/shards/索引名?v=true\&h=index,shard,prirep,state,docs,store

路由计算

在集群中插入一条数据的时候,是插入主分片的,至于是插入到哪个节点,或者说哪个分片,是通过路由计算决定的。

路由计算:数据的id%分片数

分片控制

在集群中查询一条数据的时候,可以访问任何一个节点来获取数据,访问的这个节点就是协调节点,它会使用内部的哈希算法来确定目标数据所在的分片,然后转发到这个分片上。

写数据流程

在elasticsearch集群中,写入一条数据的流程:

  1. 客户端请求集群节点(任意一个)
  2. 这个被访问的节点就是协调节点
  3. 协调节点将请求转发到指定的节点(通过路由计算)
  4. 主分片将数据保存
  5. 主分片将数据发送给副本
  6. 主分片进行反馈
  7. 客户端获得反馈

读数据流程

在elasticsearch集群中,查询一条数据的流程:

  1. 客户端发送查询请求到协调节点
  2. 协调节点计算数据所在的分片以及全部的副本位置(查询全部是为了轮询 )
  3. 将请求转发给具体的节点
  4. 节点返回查询结果,将结果返回给客户端

分片是elasticsearch最小的工作单元

相关推荐
项目題供诗4 分钟前
React学习(十二)
javascript·学习·react.js
计算机编程小咖1 小时前
《基于大数据的农产品交易数据分析与可视化系统》选题不当,毕业答辩可能直接挂科
java·大数据·hadoop·python·数据挖掘·数据分析·spark
艾莉丝努力练剑1 小时前
【C语言16天强化训练】从基础入门到进阶:Day 7
java·c语言·学习·算法
.Shu.1 小时前
git实战(7)git常用命令速查表
大数据·git
软件开发明哥2 小时前
BigData大数据应用开发学习笔记(03)离线处理--数据仓库Hive
大数据
自强的小白2 小时前
学习Java24天
java·学习
haidizym2 小时前
质谱数据分析环节体系整理
大数据·人工智能·数据分析·ai4s
2501_924890523 小时前
商超场景徘徊识别误报率↓79%!陌讯多模态时序融合算法落地优化
java·大数据·人工智能·深度学习·算法·目标检测·计算机视觉
SalvoGao3 小时前
空转学习 | cell-level 与 spot-level的区别
人工智能·深度学习·学习
Elasticsearch5 小时前
推进数据成熟度旅程的 3 个步骤
elasticsearch