Elasticsearch中的CRUD

使用docker安装elasticsearch,head插件,在es中crud 使用docker安装elasticsearch,只需要一句话,没有镜像会自动下载: docker --name es -d -p 9200:9200 elasticsearch docker ps 也可以先去search,pull拉取镜像 docker search elasticsearch docker pull elasticsearch 使用浏览器访问下或发一个curl验证下 curl http://127.0.0.1:9200/ 下面安装一个elasticsearch-head客户端插件,需 阅读详情

在《玩玩儿Elasticsearch》中简单介绍了一下elasticsearch。这篇文章,我们还是做些基础的学习,在Elasticsearch如何进行CRUD?


假设我们正在创建的一个类似微博的应用,我们就姑且先叫它“kiwi”吧。kiwi这个应用就是一条条消息组成的。

在kiwi中,消息称为ksay。有两个部分组成,一是作者(author),而是消息本身(message)。



Create


curl -X POST http://localhost:9200/kiwi/ksay/ -d '{ "author": "rococojie", "message": "I am beautiful"}'

返回:{"_index":"kiwi","_type":"ksay","_id":"aaX3P2LJSP-dDYVy0USv7Q","_version":1,"created":true}

我们注意到elasticsearch默认不是按照自增的方式帮我们生成id的。而是自动生成22位的URL安全的_id。如刚才的例子中,返回的_id就是aaX3P2LJSP-dDYVy0USv7Q。如果要使用自定义的_id,则操作如下:


curl -X POST http://localhost:9200/kiwi/ksay/1 -d '{"author": "jerry", "message": "I hate Tom"}'

返回:{"_index":"kiwi","_type":"ksay","_id":"1","_version":1,"created":true}



Read

我们这里就只说用id取值


curl -X GET http://localhost:9200/kiwi/ksay/1

返回:{"_index":"kiwi","_type":"ksay","_id":"1","_version":1,"found":true, "_source" : { "author": "jerry", "message": "I hate Tom"}}


如果我们希望返回的知识原来我们存的数据,那么

curl -X GET http://localhost:9200/kiwi/ksay/1/_source

返回:{ "author": "jerry", "message": "I hate Tom"}


curl -X GET http://localhost:9200/kiwi/ksay/10000

返回{"_index":"kiwi","_type":"ksay","_id":"10000","found":false},没有找到我们刚才存的ksay。




Update

curl -X PUT http://localhost:9200/kiwi/ksay/1 -d '{"author": "jerry", "message": "I love Tom"}'

返回:{"_index":"kiwi","_type":"ksay","_id":"1","_version":2,"created":false}

我们注意到这里的_version变为了2,知识因为ksay发生了改变。created返回false,表示没有创建新的文档,只是更新。


虽然Elasticsearch支持进行文档更新,我们需要知道Elasticsearch中存储的文档是不可变的(immutable)。这种所谓的更新实际上是一种假象,在Elasticsearch内部,首先将比较旧的那条数据标明为“已经删除”,然后再把较新的那条数据进行index。(retrieve-change-reindex)


部分更新

curl -X POST http://localhost:9200/kiwi/ksay/1/_update -d '{ "doc": {"message": "I hate Tom, again"} }'

返回:{"_index":"kiwi","_type":"ksay","_id":"1","_version":3}


"doc"中即是我们需要更新的field。Elasticsearch会把最新的field“merge”到原来旧的文档中。这是我们再去查看这条ksay的信息。

curl -X GET http://localhost:9200/kiwi/ksay/1

返回:{"_index":"kiwi","_type":"ksay","_id":"1","_version":3,"found":true, "_source" : {"author":"jerry","message":"I hate Tom, again"}}



Delete

curl -X DELETE http://localhost:9200/kiwi/ksay/1

返回:{"found":true,"_index":"kiwi","_type":"ksay","_id":"1","_version":4}


再尝试去取ksay:

curl -X GET http://localhost:9200/kiwi/ksay/1

返回:{"_index":"kiwi","_type":"ksay","_id":"1","found":false}

就不能在访问到,found的值是false



学会了Elasticsearch最基本的CRUD,我们可以再找些其他好玩儿的来玩儿了

SpringBoot实现ES的CRUD 阅读详情

相关推荐

Springboot集成Elasticsearch8.0(ES)版本,采用JAVA Client方式进行连接和实现CRUD操作

本文章介绍了 springboot t集成Elasticsearch8.0(ES)版本,如何通过 AVA Client方式进行连接和实现CRUD操作 在ES7.15版本之后,ES官方将高级客户端 `RestHighLevelClient`标记为弃用状态。同时推出了全新的 Java API客户端 Elasticsearch Java API Client,该客户端也将在 Elasticsearch8.0及以后版本中成为官方推荐使用的客户端。

yunnuo的博客 1038

Elasticsearch学习 day1

文章目录Elasticsearch学习的第一天第一章:ES简介1.1 ES简介1.1.1 ES定义1.1.2 ES适用场景1.1.3 ES适用场景详解1.2 ES和MySql的对比第二章:REST2.1 、REST简介2.2 、REST具体操作说明2.3、ES内置REST接口 Elasticsearch学习的第一天 第一章:ES简介 1.1 ES简介 1.1.1 ES定义     Elasti...

smileKutper的博客 333

S32K3实战:手把手教你用eMIOS模块实现电机PWM控制(附代码)

本文详细解析了NXP S32K3系列MCU的eMIOS模块在电机PWM控制中的应用,从硬件设计到软件实现,再到调试与优化,提供了完整的实战指南。通过eMIOS模块的硬件级PWM生成能力,工程师可以实现高精度的电机控制,适用于汽车电子和工业控制领域。

weixin_42570484的博客 146

ElasticSearch之CURL操作

CURL的操作 curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求。简单的认为是可以在命令行下面访问url的一个工具。在centos的默认库里面是有curl工具的,如果没有请yum安装即可。 curl -X 指定http的请求方法 有HEAD GET POST PUT DELETE -d 指定要传输的数据...

weixin_30847271的博客 1148

Apifox CLI + Claude Skills:将接口自动化测试融入ai

基于 Apifox CLI、Claude Code以及Claude Skills组合,实现自然语言触发接口自动化测试。

wwz_0012的博客 597

别再只盯着轨迹线了!FLUENT DPM后处理实战:从粒子采样到直方图报告的完整流程

本文详细介绍了FLUENT DPM后处理的完整流程,从粒子采样到直方图报告的实战技巧。通过设置采样面、分析.dpm文件数据以及创建加权直方图,帮助工程师获取粒子速度、粒径分布等定量信息,提升多相流模拟的深度分析能力。特别适合需要超越轨迹线分析的CFD工程师。

weixin_28730353的博客 277

(9)Elasticsearch 使用自增 id 或者是自己的 id 去索引一个文档

索引一个文档 文档通过 index API 被索引 —— 使数据可以被存储和搜索。但是首先我们需要确定文档所在。正如我们前面谈论的,文档通过其 _index、_type、_id 唯一确定。 我们可以自己提供一个 _id ,或者也可以使用 index API 为我们生成一个。 使用自己的 ID 如果你的文档有自然的标识符号(例如 user_account 字段),就可以提供自己的_id,...

Enjolras_fuu的博客 2万+

数字IC面试核心:从MUX基础到Glitch-Free时钟切换电路深度剖析

本文深入剖析数字IC设计中的MUX基础原理及其在Glitch-Free时钟切换电路中的应用。从二选一MUX的门级实现到时钟切换中的毛刺问题,详细讲解了同步切换机制和工程优化技巧,帮助工程师掌握高速时钟电路设计的核心要点。

weixin_42629815的博客 323

Elasticsearch 使用自增 id 或者是自己的 id 去索引一个文档

elasticSearch

qqqweiweiqq的博客 1725

Mac新手必看:nvm安装全攻略(含常见错误解决方案)

本文为Mac开发者提供nvm安装与使用全攻略,涵盖环境准备、安装步骤、Shell配置优化及常见错误解决方案。详细讲解如何利用nvm管理多Node版本,提升开发效率,特别针对国内用户提供网络问题解决技巧,是Mac新手必备的Node版本管理指南。

weixin_28839699的博客 1608

抑制电磁干扰(EMI)的实用电路技术

抑制电磁干扰(EMI)的实用电路技术 qtFK_EMC_EMI 【导读】本系列文章的第 1 部分至第 4 部分详细介绍了开关电源稳压器引起的传导发射和辐射发射,包括噪声产生机制、测量要求、频率范围、适用的测试限值、传播模式和寄生效应。在第 5 部分中,我将基于这一理论基础介绍抑制电磁干扰 (EMI) 的实用电路技术。 一般来说,电路原理图和印刷电路板 (PCB) 对于实现出色的 EMI 性能至关重要。第 3 部分重点强调通过谨慎的元器件选型和 PCB 布局尽量减小“功率回路”寄生电感的重要性。电源转换

学海无涯的专栏 1188

ElasticsearchRepository自定义方法

//自定义想执行内容的接口 public interface TinceryEsUserDao<T, ID extends Serializable> { void doSomeThing(); } //========================================================================================...

qq_43091847的博客 5425

微波技术仿真:微波谐振器分析_(2).微波谐振器理论

谐振器是一种能够在特定频率范围内存储和释放电磁能量的器件。在微波频段,谐振器通常用于滤波、频率选择和能量存储等应用。一个理想的谐振器在谐振频率下能够存储无限大的能量,但在实际应用中,由于损耗的存在,谐振器的性能会受到一定限制。微波谐振器在微波通信、雷达系统、微波测量和微波电路设计等领域中发挥着重要作用。谐振器的设计需要考虑多个因素,包括谐振频率的精确控制、损耗的最小化、频率稳定性的提高和小型化设计。通过理论分析和仿真工具的使用,可以有效优化谐振器的性能,满足实际应用的需求。

2401_87715305的博客 932

分布式搜索引擎01-elasticsearch-介绍、倒排索引原理、概念(文档和字段,索引和映射)、安装、索引库crud、文档crud、RestAPI(java代码实现es的crud)

什么是elasticsearch?一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能什么是elastic stack(ELK)?是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch什么是Lucene?是Apache的开源搜索引擎类库,提供了搜索引擎的核心API分词器的作用是什么?创建倒排索引时对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度。

树叶子的博客 796

“华为杯”研究生数学建模竞赛2016年-【华为杯】A题:多无人机协同任务规划

题分别求解,保证了攻击方无人机滞留在防御方雷达有效探测范围内的时间总和最小,接着,通过提出巡检待命无人机的设想,型无人机携带炸弹的具体清单和攻击的目标清单),保证攻击方的无人机滞留防御方雷。在使用基于贪心算法的覆盖法时,覆盖的目标点中必须首先不含配备雷达站的目标点。步优化保证攻击方的无人机滞留防御方雷达有效探测范围内的时间总和最小,需首先。的“灵巧”炸弹,采用抛投方式对地攻击,即投放后炸弹以飞机投弹时的速度作抛物。运动,当炸弹接近目标后,可主动寻的攻击待打击的目标,因此炸弹落点位于目标中。

getusushu的博客 1034

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

ES101系列02 | ElasticSearch基础CRUD

这是该系列的第二篇,主要讲解 ElasticSearch 基础的 CRUD 操作,可以自己去到 Kibana 的 Dev Tool 实战操作,未来会持续更新该系列。

Lance_Yuan24的博客 550

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Elasticsearch学习笔记(三):ES的集群检查,文档CRUD

一. Document的数据格式 ES是面向文档的分析搜索引擎 (1)应用系统的数据结构基本上都是面向对象的。 (2)对象数据存储到数据库当中,只能拆解开来,变为扁平的多张表,每次查询的时候还需要还原为对象格式,相当麻烦。 (3)ES是面向文档的,文档中存储的数据结构,与面向对象的数据结构是一样的,基...

Lee_Ho_的博客 703

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ElasticSearch 实战:es的CRUD演示

Elasticsearch 提供了丰富的 RESTful API 用于对索引中的文档进行 CRUD(Create, Read, Update, Delete)操作。以下是对 Elasticsearch 进行 CRUD 操作的实战演示,使用curl命令进行示例,假设 Elasticsearch 服务器运行在。

qq_33240556的博客 506

ElasticSearch分布式搜索引擎_简介与CRUD

ElasticSearch分布式搜索引擎简介及其增删改查那些事 Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的 如果你之前学过SOLR,那么学习ElasticSearch应该会比较简单了 如果没学过SOLR,那么肯定学过MYSQL吧,我们可以将MYSQL的概念类推到ElasticSearch 以下是ElasticSearch的几个关键角色 索引(indices)--------------------------------Databases 数据

JunsIr的技术栈 954

ElasticSearch 文档操作之文档CRUD

新增文档,请求体包含文档数据。查询文档,返回文档的原始数据(source)。删除文档,删除指定ID的文档。修改文档全量修改,替换整个文档。增量修改,只修改指定字段。

2301_80093566的博客 1436

Elasticsearch学习之CRUD操作

ES的各类操作可以基于Restful风格来进行,所以我们主要使用curl命令来对ES进行操作。 语法格式:   curl -X<VERB> ‘<PROTOCOL>://PORT/<PATH>?<QUERY_STRING>’ -d '<BODY>'   VERB:请求方法,GET,PUT,DELETE等;   PROTOCOL:http,h...

Micky_Yang的博客 431

elasticsearch之crud

POST /book/_doc/5可能是新增操作,也可能会是覆盖操作,如果加上_create就明确告诉es,我要新增,如果存在就会报错。create:相当于强制创建 PUT /index/type/id/_create。语法:POST /{index}/type /{id}/_update。或者POST /{index}/_update/{id}post不带id则新增,且自动生成id。post带着id不存在则新增。post带着id存在,则覆盖。put带着id,不存在则新增。put带着id存在则覆盖。

Java领域优秀创作者 2187

跟我学Elasticsearch(5) es的CRUD演示

下面以一本书为1个document为例演示下es的CRUD 1、新增商品:新增document PUT /product/book/1 { "product_name" : "追风筝的人", "price" : 10, "tags": [ "忠诚", "赎罪" ] } 第一次新增document时es会自动建立index和type,不需要提前创建,es默认会对document每个field都建立倒排索引,让其可以被全文检索。 2、查询商品:查询document GET /pro

nowitzkis的专栏 223

探索Elasticsearch:索引的CRUD

在企业环境中,Elasticsearch的索引CRUD(创建Create、读取Read、更新Update、删除Delete)操作是非常基础且频繁使用的功能。这些操作对于管理和维护数据至关重要,尤其是在处理大规模数据集和需要实时搜索与分析的应用场景中。在Elasticsearch中,Index就类似数据库表,Mapping映射就类似表的结构。我们要向es中存储数据,必须先创建Index和Mapping。

2201_75732091的博客 1429

从CRUD到高级搜索:Easy-ES让Elasticsearch开发效率提升10倍的实战指南

**痛点直击**: 使用原生Elasticsearch Client需要编写19行代码才能完成简单查询,而业务需求却要求你在3天内上线全文检索功能。索引创建、字段映射、分词配置、复杂查询构建...这些繁琐步骤是否让你望而却步? **本文价值**: 读完本文后,你将掌握: - 5分钟实现Elasticsearch CRUD操作的零魔法值方案 - 全自动索引托管技术,彻底告别手动维护索引的痛

gitblog_01404的博客 419

初识ES(ES的基本概念、倒排索引、索引和文档的CRUD)

倒排索引中有两个非常重要的概念: 文档(Document):用来搜索的数据,其中的每一条数据就是一个文档。例如一个网页、一个商品信息 词条(Term):对文档数据或用户搜索数据,利用某种算法分词,得到的具备含义的词语就是词条。如:小米发布会开始。可以分词为:小米,发布会,发布,开始这几个词条。

qq_64680177的博客 1461
上一篇: 初识Spring Boot
下一篇: 《Head First jQuery》读书笔记
kiwi小白
博客等级 码龄14年 153粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值