ElasticSearch之基础概念

写在前面

本文一起看下es的基础概念,比较枯燥的内容说,但不看又不行。开始。

1:document

文档,是es搜索存储数据的最小单元,相当于是MySQL的一行记录,但es中是一个json,如下是一个通过logstash转换csv生成的一个文档:
在这里插入图片描述
一个文档除了存储具体的数据之外还会存储一些元数据,包括如下:

_id:es自动生成的unique id
_type:文档所属的类型名称,固定为_doc
_index:文档所属的索引名(索引可以理解为MySQL的表)
_source:存储文档的原始数据
_version:文档的版本信息
-score:文档的评分,跟着查询走的

2:索引

注意这里是名词index,而非动词indexing,索引是文档的容器,是一个逻辑概念,在索引中可以定义setting信息和mapping信息,其中setting信息用来设置分片,副本等信息,mapping用来设置文档的字段类型等信息,类似于MySQL的建表语句,如下:
在这里插入图片描述

3:type

6.0之前可以设置多个,是index下对document的进一步分组,在6.0已经废弃,但还可以设置,在7.0就默认只有一个_doc,不能设置了。

4:node

一个es实例就是一个node,node分为master-eligible node和master node,其中前者是非master node,后者是master node。从数据处理的角度分为data node,coordinating node,其中data node负责处理数据,coordinate node接收请求但不查询数据只负责代理查询以及汇总数据,另外,data node也是cordinate node。还有ingest节点,负责处理数据,如写入数据时处理后再写入。
在这里插入图片描述

5:分片

分片用来存储数据的逻辑单元,分为主分片(将数据分成几份)和副本分片(每份数据复制的份数),主分片是直接写入数据的分片,副本分片是备份数据的分片,如下图:
在这里插入图片描述
以上就是,将数据分成3份放到3个主分片(number_of_shards:3),每份数据被复制1份(number_of_replicas: 1)存储。分片分布在node上,如下在cerebro 查看:
在这里插入图片描述

6:rest api

可查看数据以及集群状态。

  • 查看集群状态
    在这里插入图片描述
    在cerebro查看:
    在这里插入图片描述
  • 查看集群节点
    在这里插入图片描述
  • 查看分片
    在这里插入图片描述

详细的api参考这里

7:和关系型数据库对比

在这里插入图片描述

写在后面

参考文章列表

Elasticsearch是如何做到快速索引的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值