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

news2024/11/30 0:44:41

上文 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.coloradmin.cn/o/1432184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python新春烟花盛宴

写在前面 哈喽小伙伴们,博主在这里提前祝大家新春快乐呀!我用Python绽放了一场新春烟花盛宴,一起来看看吧! 环境需求 python3.11.4及以上PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库…

通过 editplus 批量转换文本编码

有时候需要对文本的编码进行批量转换,文本编辑器 notepad 中的“编码”菜单可以用来转换单个的文档编码,当文档数量多的时候,一个个操作比较繁琐,通过文本编辑器 editplus 软件,可以方便快速地批量修改文本文件的编码&…

微信网页授权之使用完整服务解决方案

目录 微信网页授权能力调整造成的问题 能力调整的内容和理由 原有运行方案 is_snapshotuser字段 改造原有方案 如何复现测试场景 小结 微信网页授权能力调整造成的问题 依附于第三方的开发,做为开发者经常会遇到第三方进行规范和开发的调整,如开…

基于SpringBoot+Vue的防汛应急物资管理系统

本防汛物资管理系统的主要分为管理员角色和用户角色,主要设计的功能包括注册登录管理、密码信息管理、用户信息管理、物资信息管理等模块。 注册登录管理:使用本系统需要打开浏览器,输入相应的网址,如果用户是首次使用本系统&…

下载、安装Jenkins

进入官网 下载Jenkins https://www.jenkins.io 直接点击Download 一般是下长期支持版 因为它是java写的,你要运行它(Jenkins.war)肯定要有java环境 有两种方式去运行它,一种是下载Tomcat(是很经典的java容器或者jav…

Xcode 15 及以上版本:libarclite 库缺少问题

参考链接:Xcode 15 libarclite 缺失问题_sdk does not contain libarclite at the path /ap-CSDN博客 报错: SDK does not contain libarclite at the path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarcl…

MC插件服教程-paper+游戏云VPS

首先必须要先买一台VPS,这里以i9的机型做演示 购买完成等待大约1分钟服务器就会创建完成,之后在管理页可以看到服务器的连接信息 image772356 43 KB 首先复制下远程连接地址,此处即k.rainplay.cn:13192 之后在系统里搜索“rdp”或“远程桌面…

QT研究笔记(一)windows 开发环境安装部署

一、Qt 是什么? Qt 是一个跨平台的应用程序开发框架,最初由挪威的 Trolltech 公司开发,并于2008年被诺基亚收购。后来,Qt 框架由 Digia 公司接手,并在2012年成立了 The Qt Company。Qt 提供了一套丰富的工具和类库&am…

为什么越来越多的企业在考虑将ERP从云端迁移到本地?

越来越多的企业在考虑将核心ERP迁移到本地部署,原来实施的时候局限于业务规模、实施成本的原因采用云端部署的方式越来越不再适应于企业规模的发展、系统应用和数据安全的要求。 因此他们都宁愿将云端ERP的数据迁移到本地,使得系统数据和安全更加可控。…

接口测试框架对比

公司计划系统的开展接口自动化测试,需要我这边调研一下主流的接口测试框架给后端测试(主要测试接口)的同事介绍一下每个框架的特定和使用方式。后端同事根据他们接口的特点提出一下需求,看哪个框架更适合我们。 需求 1、接口编写…

python中[[]] * (n)和[[] for _ in range(n)]的区别

1、现象 刷leetcode207的时候碰到一个坑,用[[]] * (n)初始化二维数组,逻辑是正确的,但是结果始终不对。 2、原因 最后定位是初始化语句使用错误导致的,我使用的是[[]] * (n),应该使用[[] for _ in range(n)] 3、解…

MagicVideo-V2:多阶段高保真视频生成框架

本项工作介绍了MagicVideo-V2,将文本到图像模型、视频运动生成器、参考图像embedding模块和帧内插模块集成到端到端的视频生成流程中。由于这些架构设计的好处,MagicVideo-V2能够生成具有极高保真度和流畅度的美观高分辨率视频。通过大规模用户评估&…

Android学习之路(28) 进程保活组件的封装

前言 远古时代,出现过很多黑科技,比如MarsDaemon,使用双进程守护的方式进行保活,在当时可谓风光无限,可惜在8.0时代到来就被废弃了。 又比如后面出现的1像素Activity的保活方式,说他流氓一点不过分&#…

Linux 驱动开发基础知识——内核对设备树的处理与使用(十)

个人名片: 🦁作者简介:学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:Vir2021GKBS 🐼本文由…

344. Reverse String(反转字符串)

题目描述 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 问题分析 以中间字符为轴,将两边的字符对换…

【Vue】组件间通信的7种方法(全)

目录 组件之前的通信方法 1. props/$emit 2.parent/children 3.ref 4.v-model 5.sync 6.attrs,attrs,attrs,listeners 7.provide/inject 7.eventBus 组件之前的通信方法 1. props/$emit 父传子 props 这个只能够接收父组件传来的数据 不能进行修改 可以静态传递 也可…

day35 柠檬水找零 根据身高重建队列 用最少数量的箭引爆气球

题目1:860 柠檬水找零 题目链接:860 柠檬水找零 题意 一杯柠檬水5美元,每位顾客只买一杯柠檬水,支付5美玉,10美元,20美元,必须正确找零 开始时并没有零钱 若可以正确找零,则返回…

操作系统透视:从历史沿革到现代应用,剖析Linux与网站服务架构

目录 操作系统 windows macos Linux 服务器搭建网站 关于解释器的流程 curl -I命令 名词解释 dos bash/terminal,(终端) nginx/apache(Linux平台下的) iis(Windows平台下的) GUI(图形化管理接口&#xff…

python coding with ChatGPT 打卡第16天| 二叉树:完全二叉树、平衡二叉树、二叉树的所有路径、左叶子之和

相关推荐 python coding with ChatGPT 打卡第12天| 二叉树:理论基础 python coding with ChatGPT 打卡第13天| 二叉树的深度优先遍历 python coding with ChatGPT 打卡第14天| 二叉树的广度优先遍历 python coding with ChatGPT 打卡第15天| 二叉树:翻转…

机器翻译后的美赛论文怎么润色

美赛论文的语言表达一直是组委会看重的点,清晰的思路和地道的语言在评审中是重要的加分项。 今天我们就来讲讲美赛论文的语言问题。 我相信有相当一部分队伍在打美赛的时候,出于效率的考量,都会选择先写中文论文,再机翻成英文。 …