Elasticsearch(ES) 简述请求操作索引下文档 增删查改操作

上文 Elasticsearch(ES) 创建带有分词器规则的索引 带着大家创建了一个带有分词功能的索引

老规矩 我们启动一下ES服务
在这里插入图片描述
本文 我们就来说说 关于文档的操作

我们先来添加一个文档 就像数据库加一条数据一样
这里 并不需要指定什么表结构和数据结构
它的文档结构是无模式的

添加文档的请求路径是
http://localhost:9200/索引名/_doc
例如 我想给books索引加一个文档 就是
http://localhost:9200/books/_doc
这里请求类型选post

请求参数的话 它依旧是个JSON的
在这里插入图片描述
然后 我们json参数这样写

{"id": 1,"name": "springboot","describe": "java进阶与拓展","type": "学习资料"
}

大体内容与我们上文写的数据结构一直 id是唯一标识 name给了个文本信息springboot describe给了个描述 java进阶与拓展 type 为学习资料

然后 我们点击发请求
在这里插入图片描述
下面返回基本信息 就说明添加成功了

还有一种添加方式 请求链接是
http://localhost:9200/索引名/_create/id值
例如 我们想加给 books 一个id为2的数据就是
http://localhost:9200/books/_create/2
还是 post请求 参数还是差不多 id这次我们是2
然后点击请求
在这里插入图片描述
显然也是可以的

然后 以后按标准来的话 id是不可以带在参数里面的 也就是 我们的数据应该是

{"name": "springboot","describe": "java进阶与拓展","type": "学习资料"
}

id放在这个json中是很不规范的
然后 我们说的 _doc 也可以
http://localhost:9200/索引名/_doc/id值
它们是都可以将id带在路径后面的

_doc 形式 其实你把id带在参数里面 它也不会用你的 只是 _doc 支持后面不带id 路径后面有它用你的路径后面没有 它会随机生成一个id 不会去你的json中找

然后 我们要查询某一条 可以 输入地址
http://localhost:9200/索引名/_doc/id值
例如 我们想查自己加进去那条id为2的 可以这样写
http://localhost:9200/books/_doc/2
请求要用get的
然后点击请求 返回体里面就会看到我们加进去的数据了
在这里插入图片描述
按照开发者的习惯 这会儿大部分小伙伴都已经想到查全部的方法了 秒懂 我们试试

但是 真请求了 我们会发现 不带路径id 这是有问题的
在这里插入图片描述
它是在告诉我们 如果你后面不带参数 它会以为你在用post 就是添加文档的方法

这里 我们可以 http://localhost:9200/索引名/_search
执行get请求

这样 就可以查到全部了
在这里插入图片描述
然后 我们来说 按条件查询
但是 因为 我们两条数据 目前都设一样的 我们再加一条
请求地址
http://localhost:9200/books/_create/3
请求参数

{"name": "vue2 - vue3","describe": "前端框架响应式数据讲解","type": "学习资料"
}

在这里插入图片描述
OK 然后我们用get请求查全部 http://localhost:9200/books/_search
最后一条数据就看到了
在这里插入图片描述
条件查询的基础语法是
http://localhost:9200/索引名/_search?q=字段名=查询的值
例如 我们写 http://localhost:9200/books/_search?q=name=vue
这里 查询索引books 条件为name字段 值包含vue的
在这里插入图片描述
很明显 这里是成功带出来了的

然后 我们来查 describe
http://localhost:9200/books/_search?q=describe=java

describe中 包含 java
在这里插入图片描述
就把我们前面加的两条数据查出来了

然后 还有就是 我们上文说的 all 组合字段
我们来一个 all vue
在这里插入图片描述
然后是删除 那么正好 id 1 和 2 两条数据重复了 我们来把2删了
http://localhost:9200/索引名/_doc/id值
请求类型用 delete
http://localhost:9200/books/_doc/2
在这里插入图片描述
result为 deleted 说明删除是成功了的

大不了 我们查询全部
http://localhost:9200/books/_search get
在这里插入图片描述
明显 id为2的数据就没了

我们将id为3 的这一条改一下
路径
http://localhost:9200/索引名/_doc/id值
这里 我们是 put请求 http://localhost:9200/books/_doc/3
参数的话 依旧是json类型的
在这里插入图片描述
我们这样写

{"name": "springboot 测试用例","describe": "java 高级","type": "测试用例"
}

点击运行 下面 很明显是成功了的
在这里插入图片描述
返回值里面有一个 _version 很贴心 这是版本号 通过它 我们就知道它修改过多少次了 默认是1 每改一次加一
我们执行查询
http://localhost:9200/books/_search get
在这里插入图片描述
但是 这里有一个问题 就是 如果你不给值的字段 修改 它不会说你没有值它就不动了
例如 你原来这条 name是 字符串你好 然后你修改时没给name值 那么 这条的name就变成空了

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

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

相关文章

PyTorch 2.2 中文官方教程(十七)

(Beta)使用缩放点积注意力(SDPA)实现高性能 Transformer 原文:pytorch.org/tutorials/intermediate/scaled_dot_product_attention_tutorial.html 译者:飞龙 协议:CC BY-NC-SA 4.0 注意 点击这…

从领域外到领域内:LLM在Text-to-SQL任务中的演进之路

导语 本文介绍了ODIS框架,这是一种新颖的Text-to-SQL方法,它结合了领域外示例和合成生成的领域内示例,以提升大型语言模型在In-context Learning中的性能。 标题:Selective Demonstrations for Cross-domain Text-to-SQL会议&am…

Jenkins任意文件读取漏洞(CVE-2024-23897)复现

Jenkins 有一个内置的命令行界面CLI,在处理 CLI 命令时Jenkins 使用args4j 库解析 Jenkins 控制器上的命令参数和选项。此命令解析器具有一个功能,可以将参数中后跟文件路径的字符替换为文件内容 ( expandAtFiles)。具有Overall/Read权限的攻击者可以读取…

成都爱尔林江院长解读儿童青少年为什么一定要进行医学验光配镜

根据国家卫健委数据显示:我国青少年儿童总体近视率为52.7%、高度近视人口超3000万。近视学生中,有10%为高度近视,且占比随年级升高而增长。 近视孩子之多,孩子视力发展备受关注。戴镜进行近视防控十分必要,且眼镜不可随意验配! 成…

PAT-Apat甲级题1007(python和c++实现)

PTA | 1007 Maximum Subsequence Sum 1007 Maximum Subsequence Sum 作者 CHEN, Yue 单位 浙江大学 Given a sequence of K integers { N1​, N2​, ..., NK​ }. A continuous subsequence is defined to be { Ni​, Ni1​, ..., Nj​ } where 1≤i≤j≤K. The Maximum Su…

论文阅读-MapReduce

论文名称:MapReduce: Simplified Data Processing on Large Clusters 翻译的效果不是很好,有空再看一遍,参照一下别人翻译的。 MapReduce:Simplified Data Processing on Large Clusters 中文翻译版(转) - 阿洒 - 博客园 (cnblogs.com) 概…

仰暮计划|“如果你想看到世界上最完美的笑容,你就要多一点儿时间跟老人在一起,老人笑了,你就看到了。”

敬老从心开始,助老从我做起 时值假期,我们有了时间,决定好好践行孝亲敬老的传统美德。会计学院红心使者敬老院访问团在7月6日上午在河南省郑州市新郑市“华信老年公寓”进行实践活动。 一早来到敬老院,老人们都已经开始择菜&…

某赛通电子文档安全管理系统 PolicyAjax SQL注入漏洞复现

0x01 产品简介 某赛通电子文档安全管理系统(简称:CDG)是一款电子文档安全加密软件,该系统利用驱动层透明加密技术,通过对电子文档的加密保护,防止内部员工泄密和外部人员非法窃取企业核心重要数据资产,对电子文档进行全生命周期防护,系统具有透明加密、主动加密、智能…

Redis核心技术与实战【学习笔记】 - 19.Pika:基于SSD实现大容量“Redis”

前言 随着业务数据的增加(比如电商业务中,随着用户规模和商品数量的增加),就需要 Redis 能保存更多的数据。你可能会想到使用 Redis 切片集群,把数据分散保存到不同的实例上。但是这样做的话,如果要保存的…

【鸿蒙】大模型对话应用(三):跨Ability跳转页面

Demo介绍 本demo对接阿里云和百度的大模型API,实现一个简单的对话应用。 DecEco Studio版本:DevEco Studio 3.1.1 Release HarmonyOS SDK版本:API9 关键点:ArkTS、ArkUI、UIAbility、网络http请求、列表布局、层叠布局 页面跳…

excel统计分析——卡方适合性检验

参考资料:生物统计学 适合性检验是卡方检验应用的一种类型,检验实际的观测数与通过某一理论模型计算所得理论数是否相符,相当于1c列联表的卡方检验,也成为单因素离散型数据的卡方检验。 对参数的建设检验总是假定对照总体的分布数…

Linux 网络编程 + 笔记

协议:一组规则 分层模型结构: OSI七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层TCP/IP 4层模型:链路层/网络接口层、网络层、传输层、应用层 应用层:http、ftp、nfs、ssh、telnet、传输层&am…

C++ 动态规划 线性DP 数字三角形

给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 73 8 8 1 02 7 4 4 4 5 2 6 5 输入格式 …

Qt/C++音视频开发66-音频变速不变调/重采样/提高音量/变速变调/倍速播放/sonic库使用

一、前言 之前在做倍速这个功能的时候,发现快速播放会有滴滴滴的破音出现,正常1倍速没有这个问题,尽管这个破音间隔很短,要放大音量才能听到,但是总归是不完美的,后面发现,通过修改qaudiooutpu…

Postman-接口测试教程

接口是软件开发中常用的概念,是软件生产过程中比较核心的任务。对于接口开发者,调试接口是一件较为繁琐的事情,很多时候需要线上线下来回切换。在这里,我就跟大家介绍一个只需要在本地就可以调试接口的方法,即使用post…

node.js与express.js创建项目以及连接数据库

搭建项目 一、技术准备 node版本:16.16.0 二、安装node成功后,安装express,命令如下: npm install -g express 或者: npm install --locationglobal express 再安装express的命令工具: npm install --location…

嵌入式学习第三篇——51单片机

目录 1,嵌入式系统 1,嵌入式系统的定义 2,单片机的定义 2,51单片机 1,开发环境 2,开发板使用的基本思路 1,查看原理图,查看芯片手册 2,获得调用硬件的管…

AI的安全应答之道

作者:统信UOS技术团队 2023,随着各种大语言模型的爆发,整个AI生态正处于从决策式AI进化到生成式AI的进程中。各类AI模型和AI应用层出不穷,也随之带来了与AI相关的各类潜在风险。AI开发和使用过程中的风险防范和治理,成为了不可忽…

SD-WAN的安全性体现在哪里?

SD-WAN技术以其高度灵活、网络自动配置和低成本等优势,将多个物理WAN链接整合为一个逻辑网络,推动网络从“连通驱动”向“服务驱动”导向的转变。同时,企业在追求高效网络时,SD-WAN的安全性也成为一个重要的考量因素。 SD-WAN采用…

OpenCV 8 - 模糊处理(均值滤波,高斯滤波,中值滤波,双边滤波)

模糊处理原理: Blur是图像处理中最简单和常用的操作之一,使用该操作的原因为了给图像预处理时候减低噪声使用,Blur操作其背后是数学的卷积计算, 通常这些卷积算子计算都是线性操作,所以又出线性虑波。 假设有6x6的图像像素点矩阵。卷积过程:6x6上面是个3x3的窗口,从左向右,…