elasticsearch 7.4.2 初步检索

基本概念

在使用es前需要了解如下几个名词

Index 索引
Elastic 数据管理的顶层单位就叫做 Index(索引)。它是单个数据库的同义词。每个 Index (即数据库)的名字必须是小写。

Type 类型
在Index(索引)中,可以定义一个或多个类型,类似于Mysql中的Table,每一种类型的数据放在一起

Document 文档
保存在某个索引(Index)下,某种类型(Type)的一条数据(Document),以Json格式保存,Document类似于Mysql中Table里的一条数据

{
  "user": "张三",
  "title": "工程师",
  "desc": "数据库管理"
}

开始检索

_cat 查询

_cat可以查询es的具体情况数据

GET/ cat/nodes:查看所有节点
GET/ cat/health:查看es健康状况
GET/ cat/master:查看主节点
GET/ cat/indices:查看所有索引 类似show databases;
在这里插入图片描述

保存文档

使用 put 方式保存

注意: put 必须指定id,不指定id会报错
在这里插入图片描述
操作成功后,相应如下

{
    "_index": "customer",
    "_type": "external",
    "_id": "1",
    "_version": 1,
    "result": "created",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 0,
    "_primary_term": 1
}

注意,put 可以是保存(created),也可以是更新(update)

post 保存

使用post方式保存,可以指定id,也可以不指定id。

  1. 不指定id,es会自动生成一个id,每一次都是新增操作
  2. 指定了id,没有就是新增操作,有这个id就是更新操作
    在这里插入图片描述
    相应如下
{
    "_index": "customer",
    "_type": "external",
    "_id": "XsjxnnIByVzTCxw9Y_AS",
    "_version": 1,
    "result": "created",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 1,
    "_primary_term": 1
}

post 方式不指定id,每一次都会随机生成一个id

查询文档 get

示例: 查询customer索引,external类型下id为1的信息
在这里插入图片描述
相应信息:
在这里插入图片描述

更新文档

更新前 customer/external/1的数据如下

{
		"name": "张三",
		"age": 23,
		"sex": "男"
}

更新操作有好几种方式
第一种: POST customer/external/1/_update
在这里插入图片描述
注意: 带_update的方式一定要写doc,否则报错

如果再执行相同的操作
相应如下
在这里插入图片描述
总结
post 带_update的es会对比前后数据,如果和原先的值相同就不会做更新操作,版本号和序列号不变

第二种 POST customer/external/1
在这里插入图片描述
查询结果:
在这里插入图片描述
总结: post 不带_update doc版,不会比较前后数据,会一直更新,一直叠加版本

同理: 使用PUT也有上面两种方式,结果相同

删除

删除文档

DELETE  索引/类型/id

示例: 删除customer/external/1
在这里插入图片描述
在查询上面的文档数据
在这里插入图片描述

删除索引

DELETE  索引

在这里插入图片描述
es并没有提供提供删除类型的操作

bulk 批量api

POST  索引/类型/_bulk

在这里插入图片描述
批量操作无法用postman测试,改用kibana
在这里插入图片描述
结果如下
在这里插入图片描述
复杂示例
POST /_bulk

{"delete":{"_index":"website","_type":"blog","_id":"123"}}
{"create":{"_index":"website","_type":"blog","_id":"123"}}
{"title":"My first blog post"}
{"index":{"_index":"website","_type":"blog"}}
{"title":"My second blog post"}
{"update":{"_index":"website","_type":"blog","_id":"123"}}
{"doc":{"title":"My update blog post"}}

es官网测试数据accounts.zip

将account.json数据通过kiana导入
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值