【Elasticsearch】-doc基本操作

一、文档基本操作

参考文档

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

本文是基于elasticsearch 7.11.2版本

1.1 索引文档

【Elasticsearch】-doc基本操作

1.1.1PUT

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

【Elasticsearch】-doc基本操作

【Elasticsearch】-doc基本操作

1.1.2 POST

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

【Elasticsearch】-doc基本操作

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

【Elasticsearch】-doc基本操作【Elasticsearch】-doc基本操作

1.2 获取文档

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

【Elasticsearch】-doc基本操作

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

【Elasticsearch】-doc基本操作

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

【Elasticsearch】-doc基本操作

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

【Elasticsearch】-doc基本操作

1.3 更新文档

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

  1. 从索引中获取文档(与碎片绑定)
  2. 运行指定的脚本。
  3. 重新索引结果
    【Elasticsearch】-doc基本操作

索引一个简单的文档

【Elasticsearch】-doc基本操作

使用以下脚本更新counter字段

【Elasticsearch】-doc基本操作

为文档添加字段

【Elasticsearch】-doc基本操作

删除文档中的字段

【Elasticsearch】-doc基本操作

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

【Elasticsearch】-doc基本操作

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

【Elasticsearch】-doc基本操作

1.4 删除文档

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

【Elasticsearch】-doc基本操作

【Elasticsearch】-doc基本操作

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

【Elasticsearch】-doc基本操作

1.5 获取多个文档

【Elasticsearch】-doc基本操作

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

【Elasticsearch】-doc基本操作

【Elasticsearch】-doc基本操作

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

【Elasticsearch】-doc基本操作




上一篇:【Elasticsearch】-配置分词器


下一篇:阿里云ECS安装LAMP