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就变成空了

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

es6中标签模板

之所以写这篇文章,是因为标签模板是一个很容易让人忽略的知识点 首先我们已经非常熟悉模板字符串的使用方法 const name "诸葛亮" const templateString hello, My name is ${name}标签模板介绍 这里的标签模板其实不是模板,而是函数调用…

2024年Java面试题大全 面试题附答案详解,BTA内部面试题

基础篇 1、 Java语言有哪些特点 1、简单易学、有丰富的类库 2、面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高) 阿里内部资料 基本类型 大小(字节) 默认值 封装类 6、Java自动装箱与拆箱 装箱就是…

《幻兽帕鲁》解锁基地和工作帕鲁数量上限

帕鲁私服的游戏参数通常可通过配置文件 PalWorldSettings.ini 来进行修改,然而这个配置文件有个别参数对游戏不生效,让人很是头疼。没错!我说的就是终端最大的帕鲁数量! 其实还有另外一种更加高级的参数修改方式,那就…

《Python 网络爬虫简易速速上手小册》第2章:网络爬虫准备工作(2024 最新版)

文章目录 2.1 选择合适的爬虫工具和库2.1.1 重点基础知识讲解2.1.2 重点案例:使用 Scrapy 抓取电商网站2.1.3 拓展案例 1:使用 Requests 和 BeautifulSoup 抓取博客文章2.1.4 拓展案例 2:使用 Selenium 抓取动态内容 2.2 设置开发环境2.2.1 重…

【前沿技术杂谈:开源软件】引领技术创新与商业模式的革命

【前沿技术杂谈:开源软件】引领技术创新与商业模式的革命 开源软件如何推动技术创新开源软件的开放性和协作精神促进知识共享和技术迭代推动关键技术的发展开源软件与新技术的融合 开源软件的商业模式开源软件的商业模式将开源软件与商业软件相结合 开源软件的安全风…

Docker Dockerfile

1、概念介绍 Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。 每条保留字指令都必须为大写字母且后面要跟随至少一个参数 指令按照从上到下,顺序执行 #表示注释 每条指令都会创建一个新的镜像层并对镜像进…

PyTorch 2.2 中文官方教程(十)

使用整体追踪分析的追踪差异 原文:pytorch.org/tutorials/beginner/hta_trace_diff_tutorial.html 译者:飞龙 协议:CC BY-NC-SA 4.0 作者: Anupam Bhatnagar 有时,用户需要识别由代码更改导致的 PyTorch 操作符和 CUDA 内核的变化…

vulhub中AppWeb认证绕过漏洞(CVE-2018-8715)

AppWeb是Embedthis Software LLC公司负责开发维护的一个基于GPL开源协议的嵌入式Web Server。他使用C/C来编写,能够运行在几乎先进所有流行的操作系统上。当然他最主要的应用场景还是为嵌入式设备提供Web Application容器。 AppWeb可以进行认证配置,其认…

【数据结构]排序算法之插入排序、希尔排序和选择排序

简单不先于复杂,而是在复杂之后。 文章目录 1. 排序的概念及其运用1.1 排序的概念1.2 排序运用1.3 常见的排序算法 2. 常见排序算法的实现2.1 插入排序2.1.1 基本思想2.1.2 直接插入排序2.1.3 希尔排序(缩小增量排序) 2.2. 选择排序2.2.1 基本…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Menu组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Menu组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Menu组件 TextClock组件通过文本将当前系统时间显示在设备上。支持不同时区的时间…

Ubuntu+GPU搭建Stable-Diffusion教程

【前序】已经安装anaconda 1.git拉取项目到本地 执行git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git 进入项目目录下 cd stable-diffusion-webui/ 2. 安装对应Python依赖包 首先安装pytorch和torchvision,若是GPU环境的用户需要安装与cu…

PHP入门指南:API

PHP入门指南:API 1. 简介2. API的基础概念2.1 什么是API?2.2 API的类型2.3 API的作用2.4 RESTful API2.5 API的基本构成元素 3. PHP与API的交互基础3.1 发送HTTP请求3.2 处理HTTP响应3.3 异常处理3.4 确保安全性 4. 如何在PHP中创建一个简单的API4.1 设计…

ShardingSphere 5.x 系列【5】Spring Boot 3.1 集成Sharding Sphere-JDBC并实现读写分离

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列ShardingSphere 版本 5.4.0 源码地址:https://gitee.com/pearl-organization/study-sharding-sphere-demo 文章目录 1. 概述2. 使用限制3. 案例演示3.…

【蓝桥杯选拔赛真题64】python数字塔 第十五届青少年组蓝桥杯python 选拔赛比赛真题解析

python数字塔 第十五届蓝桥杯青少年组python比赛选拔赛真题 一、题目要求 (注:input()输入函数的括号中不允许添加任何信息) 提示信息: 数字塔是由 N 行数堆积而成,最顶层只有一个数,次顶层两个数,以此类推。相邻层之间的数用线连接,下一层的每个数与它上一层左上…

智能设备管理系统:PreMaint助力药厂攻克设备管理难题

在药品生产中,设备管理是确保质量的关键环节。传统的手工操作和纸笔记录方式已经难以适应当今药厂的需求,存在诸多问题。这些问题包括设备管理工作的不成体系,难以随时掌握设备的状态,以及设备无法满足工艺流程的需求。面对这些挑…

【Linux系统化学习】进程等待

目录 进程等待 进程等待的必要性 进程等待的方法 wait方法 等待一个进程(阻塞等待) waitpid方法 任意等待多个进程(阻塞等待) 父进程获取子进程的退出信息 非阻塞轮询等待 进程等待 进程等待的必要性 之前讲过,子进程退…

乐意购项目前端开发 #7

一、购物车 本地购物车 创建cartStore.js文件 创建cartStore.js文件, 将购物车列表数据存在pinia中 import { ref, computed } from "vue"; import { defineStore } from "pinia"; import { useUserStore } from "./user"; import {insertCart…

One time pad 图像加密MATLAB程序

使用一次加密的形式对图像进行加密。 采用异或的方式实现。 加密、解密结果如下: 程序代码如下: % 读取原始图像并显示 originalImage = imread(lena256.bmp); % 更换为你的图像文件名 subplot(1,3,1),imshow(originalImage); title(Original Image);% 生成与图像相同大…

ElementUI鼠标拖动没列宽度

其实 element ui 表格Table有提供给我们一个resizable属性 按官方文档上描述 它就是控制是否允许拖拽表格列大小的属性 而且 它的默认值就是 true 但是依旧很多人会反应拖拽不了 首先 表格要有边框 如果没有变宽 确实是拖拽不了 给 el-table加上 border属性 运行结果如下 但…

算法学习打卡day47|单调栈系列题目

单调栈题目思路 通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了。时间复杂度为O(n)。单调栈的本质是空间换时间,因为在遍历的过程中需要用一个栈来记录右边第一个比当前元…