Elasticsearch基本操作之文档操作

本文来说下Elasticsearch基本操作之文档操作

文章目录

  • 文档概述
  • 创建文档示例
    • 创建文档(生成随机id)
    • 创建文档(自定义唯一性标识)
  • 查看文档示例
    • 根据主键查看文档
    • 查看所有文档
  • 修改文档示例
    • 全局修改文档
    • 局部修改文档
  • 删除文档示例
    • 根据文档的唯一性标识删除文档
    • 条件删除文档
  • 本文小结


文档概述

文档概述

  • 在创建好索引的基础上来创建文档,并添加数据。
  • 这里的文档可以类比为关系型数据库中的表数据,添加的数据格式为 JSON 格式。

创建文档示例

创建文档(生成随机id)

在 apifox 中,向 ES 服务器发 POST 请求 :http://localhost:9200/person/_doc,请求体内容为:

在这里插入图片描述

服务器响应结果如下:

在这里插入图片描述

此处发送请求的方式 必须为 POST,不能是 PUT ,否则会发生错误

在这里插入图片描述

服务器响应结果解释

{"_index"【索引】: "person","_type"【 类型-文档 】: "_doc","_id"【唯一标识】: "Qc8r54wBBLem2BEmnNus",#可以类比为 MySQL 中的主键,随机生成"_version"【版本】: 1,"result"【结果】: "created",#这里的 create 表示创建成功"_shards"【分片】: {"total"【分片 - 总数】: 2,"successful"【分片 - 成功】: 1,"failed"【分片 - 失败】: 0},"_seq_no": 1,"_primary_term": 1
}
  • 注意:上面的数据创建后,由于没有指定数据唯一性标识(ID),默认情况下,ES 服务器会随机生成一个。

创建文档(自定义唯一性标识)

在 apifox 中,向 ES 服务器发 POST 请求 :http://localhost:9200/person/_doc/1,请求体内容为:

{"name":"李四","age":22,"sex":"女"
}

在这里插入图片描述

服务器响应结果如下:

在这里插入图片描述


查看文档示例

根据主键查看文档

查看文档时,需要指明文档的唯一性标识,类似于 MySQL 中数据的主键查询。在 apifox 中,向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/person/_doc/ 1

在这里插入图片描述

查询成功后,服务器响应结果

在这里插入图片描述

服务器响应结果解释

{"_index"【索引】: "person","_type"【文档类型】: "_doc","_id"【唯一标识】: "1", #可以类比为 MySQL 中的主键"_version"【版本】: 1,"_seq_no": 4,"_primary_term": 1,"found"【查询结果】: true,  # true 表示查找到,false 表示未查找到"_source"【文档源信息】: {"name": "李四","age": 22,"sex": "女"}
}

查看所有文档

在 apifox 中,向 ES 服务器发 GET 请求 :http://localhost:9200/person/ _search

在这里插入图片描述

查询成功后,服务器响应结果

{"took": 0,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 5,"relation": "eq"},"max_score": 1.0,"hits": [{"_index": "person","_type": "_doc","_id": "QM_K5owBBLem2BEmAdux","_score": 1.0,"_source": {"name": "张三","age": 20,"sex": "男"}},{"_index": "person","_type": "_doc","_id": "Qc8r54wBBLem2BEmnNus","_score": 1.0,"_source": {"name": "张三","age": 20,"sex": "男"}},{"_index": "person","_type": "_doc","_id": "Qs9754wBBLem2BEm69tA","_score": 1.0,"_source": {"name": "张三","age": 20,"sex": "男"}},{"_index": "person","_type": "_doc","_id": "Q89854wBBLem2BEmXds5","_score": 1.0,"_source": {"name": "李四","age": 22,"sex": "女"}},{"_index": "person","_type": "_doc","_id": "1","_score": 1.0,"_source": {"name": "李四","age": 22,"sex": "女"}}]}
}

修改文档示例

全局修改文档

和新增文档一样,输入相同的 URL 地址请求,如果请求体变化,会将原有的数据内容覆盖。在 apifox 中,向 ES 服务器发 POST 请求 :http://127.0.0.1:9200/person/_doc/1,请求体内容为:

{"name":"李四四","age":66,"sex":"女"
}

在这里插入图片描述

修改成功后,服务器响应结果

在这里插入图片描述

服务器响应结果解释

{"_index": "person","_type": "_doc","_id": "1","_version"【版本】: 2,"result"【结果】: "updated",# updated 表示数据被更新"_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 5,"_primary_term": 1
}

局部修改文档

修改数据时,也可以只修改某一给条数据的局部信息。在 apifox 中,向 ES 服务器发 POST 请求 :http://127.0.0.1:9200/person/_update/1,请求体内容为:

在这里插入图片描述

修改成功后,服务器响应结果

在这里插入图片描述

根据唯一性标识,查询文档数据,文档数据已经更新

在这里插入图片描述


删除文档示例

根据文档的唯一性标识删除文档

  • 删除一个文档不会立即从磁盘上移除,它只是被标记成已删除(逻辑删除)。

在 apifox 中,向 ES 服务器发 DELETE 请求 :http://127.0.0.1:9200/person/ _doc/1

在这里插入图片描述

删除成功,服务器响应结果

在这里插入图片描述

服务器响应结果解释

{"_index": "person","_type": "_doc","_id": "1","_version"【版本】: 4, #对数据的操作,都会更新版本"result"【结果】: "deleted", # deleted 表示数据被标记为删除"_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 7,"_primary_term": 1
}

删除后再查询当前文档信息

在这里插入图片描述

如果删除一个并不存在的文档,返回结果为 not_found

在这里插入图片描述


条件删除文档

一般删除数据都是根据文档的唯一性标识进行删除,实际操作时,也可以根据条件对多条数据进行删除。

  • 首先分别增加多条数据

在这里插入图片描述在这里插入图片描述

向 ES 服务器发 POST 请求 :http://127.0.0.1:9200/person/ _delete_by_query ,请求体内容为:

{"query":{"match":{"name":"张三"}}
}

在这里插入图片描述

服务器响应结果解释

{"took"【耗时】: 1426,"timed_out" 【是否超时】: false,"total" 【总数】: 4,"deleted"【删除数量】: 4,"batches": 1,"version_conflicts": 0,"noops": 0,"retries": {"bulk": 0,"search": 0},"throttled_millis": 0,"requests_per_second": -1.0,"throttled_until_millis": 0,"failures": []
}

本文小结

本文记录了Elasticsearch基本操作之文档操作

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

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

相关文章

【leetcode 447. 回旋镖的数量】审慎思考与推倒重来

447. 回旋镖的数量 题目描述 给定平面上 **n **对 互不相同 的点 points ,其中 points[i] [xi, yi] 。回旋镖 是由点 (i, j, k) 表示的元组 ,其中 i 和 j 之间的距离和 i 和 k 之间的欧式距离相等(需要考虑元组的顺序)。 返回平…

Linux引导过程和服务

一、Linux操作系统引导过程 1.引导过程 bios 加电自检——mbr——grub——加载内核——启动进程 加电后BIOS程序回自检硬件,硬件无故障后,会根据第一次启动项去找内核,一般来说第一启动项是硬盘,找到硬盘后,会根据mb…

深入了解网络流量清洗--使用免费的雷池社区版进行防护

​ 随着网络攻击日益复杂,企业面临的网络安全挑战也在不断增加。在这个背景下,网络流量清洗成为了确保企业网络安全的关键技术。本文将探讨雷池社区版如何通过网络流量清洗技术,帮助企业有效应对网络威胁。 ![] 网络流量清洗的重要性&#x…

第四站:指针的进阶-(二级指针,函数指针)

目录 二级指针 二级指针的用途 多级指针的定义和使用 指针和数组之间的关系 存储指针的数组(指针数组:保存地址值) 指向数组的指针(数组指针) 传参的形式(指针) 数组传参时会退化为指针 void类型的指针 函数指针 定义: 调用:两种方式:(*指针名)(参数地址) 或者 指针…

别闹了,真的不是你的技术菜!!!

最近经常听到有小伙伴总是在抱怨自己的技术菜,公司没有机会让自己去成长技术,于是小编就此场景来写一篇文章,希望对大家有帮助。 错误的理解CRUD工程师 CRUD工程师这个名称是很多小伙伴都听过的,并且很多工程师都把自己比作是代…

Ubuntu 18.04.5 LTS 解决安装包复杂依赖相关问题解决的主要法则和VIM的安装实录

前言:目标和环境 环境: Ubuntu 18.04.5 LTSVMware 目标: 安装vim,解决包依赖的冲突: 本文,通过一个很好的实例,诠释了,LINUX系统下,安装一个应用遇到的依赖库问题如何…

Wilcoxon秩和检验-校正P值(自备)

R语言 boxplot作图 图内展示校正后的P值(padj)_r语言 p值校正-CSDN博客 FDR错误发现率-P值校正学习_fdr和p值的关系-CSDN博客 原理介绍: Benjamini-Hochberg 方法介绍 有N次假设检验,对每一次假设检验都计算其P值,然后将计算出的P值按照…

对接讯飞聊天机器人接口--复盘

1、准备工作 1)、进入以下平台进行注册,登录后,点击红框处 2)、点击个人免费包(会弹出实名认证,先进行实名认证) 3)、认证后,会进入以下界面,先添加应用 4&am…

代码随想录刷题题Day29

刷题的第二十九天,希望自己能够不断坚持下去,迎来蜕变。😀😀😀 刷题语言:C Day29 任务 ● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 …

软件测试|深入理解Python的encode()和decode()方法

简介 在Python中,字符串是不可变的序列对象,它由Unicode字符组成。当我们需要在字符串和字节之间进行转换时,Python提供了两个非常重要的方法:encode()和decode()。这两个方法允许我们在Unicode字符和字节之间进行相互转换&#…

认知能力测验,⑤破解图形推理测试题,校招社招网申在线测评必用

认知能力测试,如今是每个求职者必须要面对的,有的人可以顺顺利利通过,而有的人只能够遗憾止步。想要通过认知能力测验,并不是一件易事,而今天要说的图形推理,仅仅是其中的一个部分,抛砖引玉&…

【数据分析实战】冰雪大世界携程景区评价信息情感分析采集词云

文章目录 引言数据采集数据集展示数据预处理 数据分析评价总体情况分析本人浅薄分析 各游客人群占比分析本人浅薄分析 各评分雷达图本人浅薄分析 差评词云-可视化本人浅薄分析 好评词云-可视化本人浅薄分析 综合分析写在最后 今年冬天,哈尔滨冰雪旅游"杀疯了&q…

IP地址的网络安全防护和预防

网络安全对于保护个人和组织的信息资产至关重要,而IP地址是网络通信的基础。在这篇文章中,IP数据云将探讨IP地址的网络安全防护和预防措施,以确保网络的安全性和可靠性。 IP地址是互联网上每个设备在网络中的唯一标识符。有IPv4和IPv6两种类…

docker部署awvs

docker部署awvs cantos部署docker点这里 下载镜像 docker pull xiaomimi8/awvs14-log4j-2022 docker images 查看本地所有镜像启动镜像 docker run -it -d(后台运行) -p(端口映射) 13443(主机端口):3443&…

【Databand】日期时间函数

文章目录 获取当前日期和时间日期格式化函数日期加减运算日期时间和时间戳转化日期时间各部分拆分日期时间加减运算实际应用扩展总结 获取当前日期和时间 Databend 使用 UTC 作为默认时区,并允许您将时区更改为当前地理位置。 -- 查看时区 select timezone(); ---…

【Java开发工具】windows和mac多版本JDK 安装指南:让你在开发中轻松应对不同版本需求

解决思路 通过动态修改JDK环境变量中的JAVA_HOME 将值改成相应的JDK安装目录,来达到在同一电脑中安装不同版本jdk的效果。 windows系统 安装的jdk目录 右键→属性→高级系统设置→高级→环境变量→系统变量。 新建4个系统变 量变量值,变量名分别为&#xff1a…

statsmodels.tsa 笔记 detrend(去趋势)

1 基本使用方法 statsmodels.tsa.tsatools.detrend(x, order1, axis0) 2 参数说明 x数据。如果是二维数组,那么每一行或每一列将独立地去除趋势,但趋势的阶数是一样的。order趋势的多项式阶数。0 表示常数趋势(即没有趋势)&…

kubernetes Adminssion Webhook 准入控制器 (ImagePolicyWebhook)

开头语 写在前面:如有问题,以你为准, 目前24年应届生,各位大佬轻喷,部分资料与图片来自网络 介绍 原理 流程 Admission Webhook 准入控制器Vebhook是准入控制插件的一种,用于拦截所有向APISERVER发送的…

超声波清洗机是智商税吗?哪些超声波清洗机值得买?这些值得入手

自打超声波清洗机问世以来,就有非常多朋友会有这个疑问!超声波清洗机到底是不是智商税呢?其实不光是大家,一开始我也有这个疑问,但是通过了解了超声波清洗机的一些工作原理之后,会发现,其实超声…

服务器组网方案

在当今数字化时代,服务器组网方案不仅是企业信息管理的关键,更是支撑业务运作的核心架构 。为了实现高效的数据处理和存储,服务器组网方案成为企业不可或缺的一部分。本文将深入探 讨服务器组网方案的核心要素和实施策略,明确其在…