elk之基本crud

写在前面

本文看下工作中用的最多的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:常见错误

在这里插入图片描述

写在后面

参考文章列表

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringMVC请求和响应

文章目录 1、请求映射路径2、请求参数3、五种类型参数传递3.1、普通参数3.2、POJO类型参数3.3、嵌套POJO类型参数3.4、数组类型参数3.5、集合类型参数 4、json数据传递4.1、传递json对象4.2、传递json对象数组 5、日期类型参数传递6、响应6.1、响应页面6.2、文本数据6.3、json数…

【Servlet】——Servlet API 详解

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Servlet】 本专栏旨在分享学习Servlet的一点学习心得,欢迎大家在评论区交流讨论💌 目录 一、HttpServlet二、Htt…

Kotlin快速入门系列10

Kotlin的委托 委托模式是常见的设计模式之一。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。与Java一样,Kotlin也支持委托模式,通过关键字by。 类委托 类的委托即一个类中定义的方…

【Chrono Engine学习总结】2-可视化

由于Chrono的官方教程在一些细节方面解释的并不清楚,自己做了一些尝试,做学习总结。 0、基本概念 类型说明: Chrono的可视化包括两块:实时可视化,以及离线/后处理可视化。 其中,实时可视化,又…

Node.js 目录穿越漏洞(CVE-2017-14849)

文章目录 Node.js 目录穿越漏洞(CVE-2017-14849)1. 漏洞原理2. 漏洞复现3. 漏洞验证4. 漏洞分析 Node.js 目录穿越漏洞(CVE-2017-14849) 1. 漏洞原理 原因是 Node.js 8.5.0 对目录进行normalize操作时出现了逻辑错误&#xff0c…

zookeeper搭建(单机模式和集群模式)

目录 单机模式: 集群搭建: 单机模式: 1.新建data和logs目录(data目录用来存放数据库快照,logs目录用来存放日志文件) [rootmaster dev]# mkdir -p /home/apps/zookeeper/data [rootmaster dev]# mkdir -p /home/apps/zookeeper/…

Flask 入门3:Flask 请求上下文与请求

1. 前言 Flask 在处理请求与响应的过程: 首先我们从浏览器发送一个请求到服务端,由 Flask 接收了这个请求以后,这个请求将会由路由系统接收。然后在路由系统中,还可以挂入一些 “勾子”,在进入我们的 viewFunction …

Unity SRP 管线【第七讲:URP LOD实现以及Reflections反射探针】

目录 一、URP LOD 组件1、LOD Group的使用2、LOD切换原理Cross Fade(淡入淡出)模式Animated Cross-Fading如果未设置Clip,并且Fade Transition Width不为0LOD物体烘培 SpeedTree 模式 二、反射探针1. 获取反射探针数据2. 环境光照明 IBL3. 反射探针(Refl…

《金融时报》:直面“雪球”风波 究竟影响几何?

“他们给我推荐的时候说是只要市场不大跌,我就能按照年化20%获得收益,当时我看大盘走势,也认为跌那么多的概率不大。”李先生告诉《金融时报》记者,他当初被银行客户经理推荐“雪球”产品并头脑一热买了的时候,以为按照…

零基础学Python之核心基础知识

1.Python入门简介 (1)什么是Python Life is short, you need Python!人生苦短,我用Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性,相比其他语言…

在IDEA中使用git(教程)

目录 第一章、快速了解git和idea1.1)git安装使用教程1.2)idea安装使用教程 第二章、在IDEA中使用git2.1)安装插件和git设置2.2)基础操作2.2.1)使用IDEA初始化本地仓库,2.2.2)关联本地仓库和远程…

uniapp微信小程序触底加载(超简单)

你在哪个页面需要就给他在page.json里面填写以下代码,表示距离底部还有50px就触发 1.page.json添加以下代码 "onReachBottonDistance":50 这是文档链接 页面 | uni-app官网 (dcloud.net.cn) 2. 页面中写以下代码 onReachBottom(e) {console.log(&quo…