【ElasticSearch】-02- 快速上手

ElasticSearch快速上手

一、基本概念

在这里插入图片描述

在ElasticSearch中,index(索引)代表一个相似特征document(文档)的集合,在一个index中我们可以定义多个type(类型),每个document都为JSON格式的数据。
需要注意的是在7.x版本之后的Type已经被移除,因为type会导致ES性能下降】。

我们也可以用关系数据库中的概念做一点简单的类比:

ES关系数据库
IndexDatabase
TypeTable
document记录
属性字段

二、简单检索

由于ElasticSearch已经将所有的功能封装为RESTful风格的接口,我们只需要对接口发送对应的请求即可,接下来的示例我们使用之前已经安装完毕的kibana进行操作。

在任意浏览器登录Kibana选择Console进行操作
在这里插入图片描述

1. _cat

_cat 命令用于查看ES的信息(如工作状态)

  1. 查看所有节点
    指令:GET /_cat/nodes
    在这里插入图片描述

  2. 查看ES健康状况
    指令:GET /_cat/health
    在这里插入图片描述

  3. 查看所有主节点
    指令:GET /_cat/master
    在这里插入图片描述

  4. 查看所有索引
    指令:GET /_cat/indices
    在这里插入图片描述

2. 添加一个文档

使用PUT|POST保存一条数据
指令:PUT|POST 索引/类型/id
请求体中携带数据

  • 示例:在customer索引下的external中保存一条id为1的数据
PUT /customer/external/1
{
	"name":"joe"
}

在这里插入图片描述

注意:
这里使用POST 或者 PUT均可
POST : 可以新增,可以修改,如果不指定id,会自动生成id。如果指定id则会修改这个数据,并将_version自增1。
PUT:可以新增,可以修改,必须指定id

3.查询文档

使用GET查询索引中的指定id的数据
指令:GET /索引/类型/id

  • 示例:查询customer索引下external类型id为1的文档
GET /customer/external/1

在这里插入图片描述

4.更新文档

使用POST|PUT更新索引中指定id下的数据

指令:
POST /索引/类型/1
PUT /索引/类型/1

  • 可以附加_update 指令:
    携带_update 指令,会进行数据对比,如果数据一致,则不进行任何操作,需要注意,使用_update需要使用doc包裹需要更新的内容
{
	"doc":{
		#更新信息
	}
}
  • 示例:
    附加_update指令更新customer索引下external类型id为1的文档
POST /customer/external/1/_update
{"doc":{"name":"joe"}}

在这里插入图片描述

使用_update还可以在更新文档时为文档添加新的属性

  • 示例:
    为customer索引下的external类型id为1的文档增加一个age属性【增加属性不能使用PUT
POST /customer/external/1/_update
{"doc":{"name":"bin","age":18}}

在这里插入图片描述

5. 删除文档、索引

指令:
删除一个文档:DELETE /索引/类型/id
删除一个索引:DELETE /索引

  • 示例:
    删除 customer 索引下 external 类型 id 为 1 的文档
DELETE /customer/external/1

在这里插入图片描述

6.批量操作

可以批量增删改查数据
指令:

POST /_bluk # 批量操作
{action:{metadata}} # 操作类型
{request body} # 操作数据

实例:
向ES中批量插入数据
数据源

POST /bank/account/_bulk
{"index":{"_id":"1"}}
{"account_number":1,"balance":39225,"firstname":"Amber","lastname":"Duke","age":32,"gender":"M","address":"880 Holmes Lane","employer":"Pyrami","email":"amberduke@pyrami.com","city":"Brogan","state":"IL"}
{"index":{"_id":"6"}}
# .... 后续内容省略

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值