elk之基本crud

news/2025/3/14 16:22:09/

写在前面

本文看下工作中用的最多的CRUD。让我们一起来做一个帅帅的CRUD BOY吧!!!

1:基本操作

在这里插入图片描述

  • Create
格式1(指定ID):PUT 索引名称/_create/文档ID {文档json}
格式2(不指定ID):POST 索引名称/_create {文档json}
效果:文档id存在则报错
  • GET
格式:GET/_doc/文档ID
效果:存在则返回结果,否则返回not_found
  • Index
格式:PUT 索引名称/_doc_/文档ID {文档json}
效果:文档ID存在则删除老的再添加,否则直接添加,需要注意存在时虽然删除了,但是新增文档版本号还是会增加
  • Update
格式:POST 索引名称/_update/文档ID {"doc": 文档json} --注意外边包一层doc
效果:文档不存在报document missing,存在时,做增量更新,即以下几种情况1:如果要更新的字段在目标文档中存在,则使用指定的更新2:如果要更新的字段在目标文档中不存在,则直接添加3:如果目标文档中存在的字段,没有在更新的文档中指定,则该字段不变
  • Delete
格式:DELETE 索引名称/_doc/文档ID

分别来看下。

1.1:Create

  • 指定id
    在这里插入图片描述
  • id存在时报错
    在这里插入图片描述
  • 不指定id
    在这里插入图片描述

1.2:GET

  • 文档存在
    在这里插入图片描述
  • 文档不存在
    在这里插入图片描述

1.3:Index

  • 文档不存在
    在这里插入图片描述
  • 文档存在
    在这里插入图片描述
    可以看到—_version版本号+1了。

1.4:Update

现有数据为:

{"_index" : "users","_type" : "_doc","_id" : "101","_version" : 4,"_seq_no" : 34,"_primary_term" : 1,"found" : true,"_source" : {"firstName1" : "jack101","lastName" : "Johnson2","tag" : ["guitar","skateboard"],"go" : "wowowoow"}
}
  • 如果要更新的字段在目标文档中存在,则使用指定的更新
    在这里插入图片描述
  • 如果要更新的字段在目标文档中不存在,则直接添加
    在这里插入图片描述
  • 如果目标文档中存在的字段,没有在更新的文档中指定,则该字段不变
    在这里插入图片描述

1.5:Delete

  • 删除存在的
    在这里插入图片描述
  • 删除不存在的
    在这里插入图片描述

2:批量操作

2.1:_bulk 批量增删改

用于增删改操作,格式:

POST _bulk
{[index|create|update|delete]:{"_index": 索引名称, "_id": 文档ID}}
[index|create|update]时文档

同时执行,会返回每个的执行结果,其中一个失败,不会影响其他的操作执行。

  • 批量创建
    在这里插入图片描述
  • 批量删除
    在这里插入图片描述
  • 增删改操作
POST _bulk
{"index": {"_index": "users", "_id": "10000"}}
{"real_name": "lucy"}
{"update": {"_index": "users", "_id": "10001"}}
{"doc": {"name": "lucy"}}
{"create": {"_index": "users", "_id": "10002"}}
{"name": "james"}
{"delete": {"_index": "users", "_id": "10001"}}

返回结果:

{"took" : 98,"errors" : false,"items" : [{"index" : {..."result" : "updated",...}},{"update" : {..."result" : "updated",...}},{"create" : {..."result" : "created",...}},{"delete" : {..."result" : "deleted",...}}]
}

2.2:_mget 基于主键批量查询

在这里插入图片描述

2.3:_msearch 基于条件批量查询

在这里插入图片描述
也可以在url上指定索引:
在这里插入图片描述
在这里插入图片描述

3:常见错误

在这里插入图片描述

写在后面

参考文章列表

文章来源:https://blog.csdn.net/wang0907/article/details/135974572
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/news/1340776.html

相关文章

校招春招,在线测评一般测试哪些内容?

在校园招聘这一块,很多应届毕业生会相当在乎,对于他们来说,如果在学校期间就找到工作是比较轻松的事情,不用担心毕业之后找工作困难重重,可以稳稳当当毕业。但想要迅速通过招聘也不容易,在校招春招上面&…

【第二十二课】最短路:dijkstra算法 ( acwing849 / acwing850 / c++ 代码)

目录 dijkstra算法求最短距离步骤 朴素的dijkstra算法---acwing-849 代码如下 代码思路 堆优化版的dijkstra算法---acwing-850 代码如下 关于最短路问题分有好几种类型 : 单源就是指:只求从一个顶点到其他各顶点 多源是指:要求每个顶…

【kubernetes】集群网络(二):Flannel的VxLan、Host-GW模式

文章目录 1 Pod的IP地址的分配2 CNI3 Flannel3.1 Flannel的安装3.2 VxLan3.3 Host-GW 4 总结 1 Pod的IP地址的分配 当节点上只安装了docker,则会用veth pairdocker0实现单个节点上容器之间的通信,并且这些容器都在同一个IP段,如果不修改&…

记录job执行批量数据偶发执行失败问题

业务背景 job读取一个中间表数据,执行频率为10min,读取状态未处理数据,同步到第三方系统 代码处理逻辑 1.查询中间表数据,条件:状态未处理 limit 100 2.循环中处理如下逻辑 A 调用第三方系统,同步状态…

算法——A/算法通识

目录 一、复杂度分析 A/时间复杂度 B/空间复杂度 C/分析技巧 二、枚举分析 A/枚举算法介绍 B/解空间的类型 C/循环枚举解空间 三、模拟算法 四、递归 A/递归介绍 递归的两个关键要素: B/递归如何实现 C/递归和循环的比较 一、复杂度分析 A/时间复杂度…

链表——C语言——day17

链表 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。在用数组存放数据时,必须事先定义固定的长度(即元素个数)。链表则没有这种缺点,它根据需要开辟内存单元。 链表有一个“头指针“变量,图中…

python爬虫4

#1.练习 # (1) 获取网页的源码 # (2) 解析 解析的服务器响应的文件 etree.HTML # (3) 打印 import urllib.request urlhttps://www.baidu.com/ headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit…

在vue3中,组件的script setup 里如何理解 v-model 参数

在Vue 3中,可以使用defineEmits和defineProps函数来定义组件的v-model。defineEmits函数用于定义组件的事件,而defineProps函数用于定义组件的属性。 以下是一个示例: import { defineComponent, defineEmits, defineProps } from vue;cons…