ES的基本操作

  • ES的结构
  • 索引Index,分片和备份
  • 类型 Type
  • 文档 Doc
  • 属性 Field
  • 操作ES的RESTful语法
  • 索引的操作
  • 创建一个索引
  • 查看索引信息
  • 删除索引
  • ES中Field可以指定的类型


要学的

javaAPI实现es多个索引关联查询 es每个索引存多少数据_数据

ES的结构

ES是如何存储数据的?

ES与MySQL对比图

javaAPI实现es多个索引关联查询 es每个索引存多少数据_javaAPI实现es多个索引关联查询_02

索引Index,分片和备份

ES存储数据最大单位是索引,类似于MySQL可以有多个数据库

javaAPI实现es多个索引关联查询 es每个索引存多少数据_存储数据_03


什么是分片?

ES是会搭建集群的,所以可能会有第二台服务。比如有一亿条数据,假设分成两个分片:那么每个服务就是5000W条数据,可以提升检索数据的效率,ES存储数据容量也会提升。(ES默认是5个分片,1个备份)

javaAPI实现es多个索引关联查询 es每个索引存多少数据_MySQL_04

索引可以分片可以备份,从分片一般情况下不会承担查询压力

javaAPI实现es多个索引关联查询 es每个索引存多少数据_MySQL_05


从分片-备份分片

javaAPI实现es多个索引关联查询 es每个索引存多少数据_javaAPI实现es多个索引关联查询_06

类型 Type

一个索引下可以有多个类型,类似于数据库中的表

javaAPI实现es多个索引关联查询 es每个索引存多少数据_MySQL_07

javaAPI实现es多个索引关联查询 es每个索引存多少数据_MySQL_08


我安装的是6.4.2,因此一个index下只能创建一个type

文档 Doc

javaAPI实现es多个索引关联查询 es每个索引存多少数据_数据_09

一个类型下有多个document,类似于MySQL中表的一行行数据

javaAPI实现es多个索引关联查询 es每个索引存多少数据_数据_10

属性 Field

javaAPI实现es多个索引关联查询 es每个索引存多少数据_javaAPI实现es多个索引关联查询_11

每个document里面有多个field,类似于MySQL表中的数据的列

javaAPI实现es多个索引关联查询 es每个索引存多少数据_数据_12

操作ES的RESTful语法

javaAPI实现es多个索引关联查询 es每个索引存多少数据_MySQL_13


问题:type是什么类型

索引的操作

创建一个索引

#创建一个索引
PUT /person
{
  "settings": {
    "number_of_shards": 5,
    "number_of_replicas": 1
  }
}

5个分片,1个备份

javaAPI实现es多个索引关联查询 es每个索引存多少数据_存储数据_14

为什么是黄色?
因为是单机版的ES,它的备份分片没有地方可以存放,ES会自动把备份的分片到另一台服务上,避免一台服务挂掉,所有的分片都丢失。所以健康情况是黄色的

查看索引信息

可以通过kibana查看

javaAPI实现es多个索引关联查询 es每个索引存多少数据_存储数据_15

#查看索引信息
GET /person

javaAPI实现es多个索引关联查询 es每个索引存多少数据_数据_16

删除索引

谨慎操作

第一种方式:

javaAPI实现es多个索引关联查询 es每个索引存多少数据_javaAPI实现es多个索引关联查询_17


第二种方式

#删除索引
DELETE /person

javaAPI实现es多个索引关联查询 es每个索引存多少数据_MySQL_18


可以发现这个索引没有了

javaAPI实现es多个索引关联查询 es每个索引存多少数据_javaAPI实现es多个索引关联查询_19

ES中Field可以指定的类型

官网链接

https://www.elastic.co/guide/en/elasticsearch/reference/6.4/mapping-types.html

javaAPI实现es多个索引关联查询 es每个索引存多少数据_数据_20


核心的数据类型

javaAPI实现es多个索引关联查询 es每个索引存多少数据_数据_21

javaAPI实现es多个索引关联查询 es每个索引存多少数据_MySQL_22


javaAPI实现es多个索引关联查询 es每个索引存多少数据_数据_23


javaAPI实现es多个索引关联查询 es每个索引存多少数据_数据_24