开发者社区> 山那边风景> 正文

【Elasticsearch】-doc基本操作

简介: document是es中比较重要的一个概念,相当于数据库中的行数据,es可以对document进行操作,主要包括新增doc、删除doc、更新doc、更新doc的某个部分等。
+关注继续查看

一、文档基本操作

参考文档

https://www.elastic.co/guide/en/elasticsearch/reference/7.11/docs.html

本文是基于elasticsearch 7.11.2版本

1.1 索引文档

image

1.1.1PUT

put方式添加文档,如果不存在,则创建,如果存在,则更新,PUT方式添加文档,必须指定id。如果没有ID,提示以下错误。

image

image

1.1.2 POST

POST方式添加文档,如果不存在,则创建,如果存在,则更新,POST方式添加文档,可以不指定ID,有Elasticsearch自动生成id。

image

可以使用以下API,仅添加文档,如果ID重复,提示错误

imageimage

1.2 获取文档

使用 GET 从特定索引中检索文档及其源或存储字段。 使用 HEAD 验证文档是否存在。 可以使用 _source 资源仅检索文档源或验证它是否存在。

image

从 my-index-000001 索引中检索 _id 为 0 的 JSON 文档:

image

检查是否存在 _id 为 0 的文档,Elasticsearch 返回状态码 200 - 如果文档存在则返回 OK,如果不存在则返回 404 - Not Found。

image

您可以使用源过滤参数来控制 _source 的哪些部分被返回

image

1.3 更新文档

使用指定的脚本更新文档,具体语法参照下图,其中和<_id>都是必须的参数。操作分为三个步骤

  1. 从索引中获取文档(与碎片绑定)
  2. 运行指定的脚本。
  3. 重新索引结果
    image

索引一个简单的文档

image

使用以下脚本更新counter字段

image

为文档添加字段

image

删除文档中的字段

image

可以更改从脚本中执行的操作,例如以下例子,如果tag字段包含green,则此请求删除DOC

image

如果文档尚不存在,则将UPSERT元素的内容作为新文档插入。如果存在文档,则执行脚本:

image

1.4 删除文档

有几个可选参数routing、timeout。routing可以指定要删除的文档在那个主分片上,timeout可以指定删除的文档的超时时间,默认为1分钟,超过1分钟报异常。

image

image

删除与指定查询匹配的文档

image

1.5 获取多个文档

image

按照ID检索文档,如果在请求URI中指定索引,则请求正文中只需要文档ID:

image

image

默认情况下,每个文档(如果存储)返回_source字段。使用_source和_source_include或source_exclude属性来过滤特定文档返回的字段。您可以在请求URI中包含_source,_source_includes和_source_excludes查询参数,以指定在没有每个文档指令时使用的默认值。

image




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
9056 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
12454 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
19691 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
32721 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的,?mysql的 3306,?mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建. ? have?fun! ?将编程看作是一门艺术,而不单单是个技术。
17986 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
34554 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
24787 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
14681 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
13817 0
+关注
山那边风景
系统架构师,热爱生活,喜欢健身、跑步,持续学习,持续精进
62
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载
http://www.vxiaotou.com