ES的基本操作
- ES的结构
- 索引Index,分片和备份
- 类型 Type
- 文档 Doc
- 属性 Field
- 操作ES的RESTful语法
- 索引的操作
- 创建一个索引
- 查看索引信息
- 删除索引
- ES中Field可以指定的类型
要学的
ES的结构
ES是如何存储数据的?
ES与MySQL对比图
索引Index,分片和备份
ES存储数据最大单位是索引,类似于MySQL可以有多个数据库
什么是分片?
ES是会搭建集群的,所以可能会有第二台服务。比如有一亿条数据,假设分成两个分片:那么每个服务就是5000W条数据,可以提升检索数据的效率,ES存储数据容量也会提升。(ES默认是5个分片,1个备份)
索引可以分片可以备份,从分片一般情况下不会承担查询压力
从分片-备份分片
类型 Type
一个索引下可以有多个类型,类似于数据库中的表
我安装的是6.4.2,因此一个index下只能创建一个type
文档 Doc
一个类型下有多个document,类似于MySQL中表的一行行数据
属性 Field
每个document里面有多个field,类似于MySQL表中的数据的列
操作ES的RESTful语法
问题:type是什么类型
索引的操作
创建一个索引
#创建一个索引
PUT /person
{
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
}
}
5个分片,1个备份
为什么是黄色?
因为是单机版的ES,它的备份分片没有地方可以存放,ES会自动把备份的分片到另一台服务上,避免一台服务挂掉,所有的分片都丢失。所以健康情况是黄色的
查看索引信息
可以通过kibana查看
#查看索引信息
GET /person
删除索引
谨慎操作
第一种方式:
第二种方式
#删除索引
DELETE /person
可以发现这个索引没有了
ES中Field可以指定的类型
官网链接
https://www.elastic.co/guide/en/elasticsearch/reference/6.4/mapping-types.html
核心的数据类型