【Elasticsearch】-doc基本操作

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 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 索引文档

1.1.1PUT

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

1.1.2 POST

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

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

1.2 获取文档

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

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

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

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

1.3 更新文档

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

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

索引一个简单的文档

使用以下脚本更新counter字段

为文档添加字段

删除文档中的字段

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

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

1.4 删除文档

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

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

1.5 获取多个文档

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

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




相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
存储 搜索推荐 大数据
大数据数据存储的搜索引擎Elasticsearch的基本操作(含API使用)的基本检索的特殊检索
Elasticsearch还支持一些特殊的查询语言和结构,以更加灵活地搜索数据库中的信息。 Elasticsearch提供了多种特殊的查询语言和结构,如match_phrase、multi_match、regexp_query、template query等。
189 4
|
存储 搜索推荐 大数据
大数据数据存储的搜索引擎Elasticsearch的基本操作(含API使用)的基本检索的复合检索
在进行复合检索时,我们可以使用多个查询语言和结构,以更加准确地搜索数据库中的信息。 Elasticsearch提供了多种查询语言和结构,如match、term、bool、dis_max、constant_score等。
199 3
|
存储 搜索推荐 大数据
大数据数据存储的搜索引擎Elasticsearch的基本操作(含API使用)的基本检索的特殊检索
Elasticsearch还支持一些特殊的查询语言和结构,以更加灵活地搜索数据库中的信息。
175 2
|
存储 搜索推荐 大数据
|
存储 搜索推荐 大数据
大数据数据存储的搜索引擎Elasticsearch的基本操作(含API使用)的基本聚合的Buckting聚合
Elasticsearch提供了多种聚合操作,如metric、terms、tfidf、distance_calculator等。这些聚合操作可以帮助我们更好地理解和分析数据库中的信息。
92 1
|
存储 搜索推荐 大数据
大数据数据存储的搜索引擎Elasticsearch的基本操作(含API使用)的基本聚合的Metric聚合
Elasticsearch提供了多种聚合操作,如metric、terms、tfidf、distance_calculator等。这些聚合操作可以帮助我们更好地理解和分析数据库中的信息。
101 1
|
存储 自然语言处理 搜索推荐
大数据数据存储的搜索引擎Elasticsearch的基本操作(含API使用)的文档操作的分词
搜索引擎Elasticsearch是一种流行的大数据存储和分析工具,它可以通过API来进行数据索引、查询和分析等操作。在本文中,我们将会介绍Elasticsearch的文档操作之一:分词。
90 1
|
关系型数据库 索引
Elasticsearch基本操作-RESTful操作3
Elasticsearch基本操作-RESTful操作
100 0
|
存储 JSON 自然语言处理
Elasticsearch基本操作-RESTful操作2
Elasticsearch基本操作-RESTful操作
92 0
|
存储 JSON 缓存
Elasticsearch基本操作-RESTful操作1
Elasticsearch基本操作-RESTful操作
122 0