ElasticSearch文档(document)在index上的增删改查

文章目录

  • 一、document定义:
  • 二、单条增删改查
    • 1、创建索引:
    • 2、添加文档:
    • 3、获取文档:
    • 4、更新文档:
    • 5、删除文档:
  • 三、批量增删改查:
    • 1、批量添加文档:
    • 2、批量更新文档:
    • 3、批量删除文档:
    • 4、批量查询文档:
  • 四、document小结:

一、document定义:

  1. 在 Elasticsearch 中,Document(文档)是存储在索引中的最小数据单元。它是一条具有结构化数据的记录,以 JSON(JavaScript Object Notation)格式表示。

  2. 每个文档都有一个唯一的标识符,称为 _id。如果你没有为文档提供自定义的 _id 值,Elasticsearch 将为其生成一个唯一的标识符。

  3. 文档可以包含任意数量的字段,每个字段都有一个字段名和一个对应的值。字段的值可以是文本、数字、日期、布尔值、数组或嵌套的对象。

  4. 在 Elasticsearch 中,文档是不可变的。这意味着一旦创建了文档,你不能直接修改它,而是通过替换整个文档来实现更新。

  5. 文档通常被组织在索引中,索引是一组具有共同特征的文档集合。你可以根据索引、类型和标识符来访问和操作文档。

  6. 在查询数据时,你可以使用 Elasticsearch 查询语言(Elasticsearch Query DSL)来搜索和过滤文档。

  7. 总结起来,Elasticsearch 中的文档是以 JSON 格式存储的记录,每个文档都有唯一的标识符,可以包含任意数量的字段和对应的值。文档是不可变的,可以通过索引、类型和标识符进行访问和操作。

二、单条增删改查

1、创建索引:

PUT /myindex

create_index

2、添加文档:

POST /myindex/_doc/1
{
  "title": "Example Document",
  "content": "This is an example document"
}

ElasticSearch文档(document)在index上的增删改查_第1张图片

3、获取文档:

GET /myindex/_doc/1

ElasticSearch文档(document)在index上的增删改查_第2张图片

4、更新文档:

POST /myindex/_doc/1/_update
{
  "doc": {
    "title": "Updated Document",
    "content": "This document has been updated"
  }
}

执行更新:POST /myindex/_doc/1/_update

ElasticSearch文档(document)在index上的增删改查_第3张图片
再次查询:GET /myindex/_doc/1

ElasticSearch文档(document)在index上的增删改查_第4张图片

5、删除文档:

DELETE /myindex/_doc/1

ElasticSearch文档(document)在index上的增删改查_第5张图片

请将 myindex 替换为你想要操作的索引名称。
在 Kibana Console 中逐步执行这些操作,你将能够查看到对索引中文档的增删改查操作的结果。

三、批量增删改查:

1、批量添加文档:

POST /myindex/_bulk
{"index":{"_id":"1"}}
{"title":"Document 1","content":"This is document 1"}
{"index":{"_id":"2"}}
{"title":"Document 2","content":"This is document 2"}

2、批量更新文档:

POST /myindex/_bulk
{"update":{"_id":"1"}}
{"doc":{"title":"Updated Document 1"}}
{"update":{"_id":"2"}}
{"doc":{"title":"Updated Document 2"}}

3、批量删除文档:

POST /myindex/_bulk
{"delete":{"_id":"1"}}
{"delete":{"_id":"2"}}

4、批量查询文档:

POST /myindex/_msearch
{}
{"query":{"match_all":{}},"size":10}

四、document小结:

  1. 在 Elasticsearch 中,Document(文档)是存储在索引中的最小数据单元。每个文档都有一个唯一的标识符 _id,可以自动生成或自定义。

  2. 文档使用 JSON(JavaScript Object Notation)格式表示,可以包含任意数量的字段。字段由字段名和对应的值组成,值可以是文本、数字、日期、布尔值、数组或嵌套的对象。

  3. 文档是不可变的,一旦创建,不能直接修改。要更新文档,需要替换整个文档。

  4. 文档通常被组织在索引中,索引是一组具有共同特征的文档集合。可以根据索引、类型和标识符来访问和操作文档。

  5. 文档的创建和更新是异步的,意味着写入操作不会立即对搜索结果产生影响。Elasticsearch 会将写入操作存储在内存缓冲区中,然后按照一定的策略将数据刷新到磁盘。

  6. 在查询数据时,可以使用 Elasticsearch 查询语言(Elasticsearch Query DSL)来搜索和过滤文档。通过构建查询语句,可以对文档进行全文搜索、精确匹配、范围过滤等操作。

  7. 文档的性能受到多个因素的影响,包括索引设置、分片和副本配置、硬件性能等。为了提高性能,可以使用批量操作来同时创建、更新或删除多个文档。

  8. 总结起来,Elasticsearch 中的文档是以 JSON 格式存储的记录,每个文档都有唯一的标识符。文档可以包含任意数量的字段和对应的值,是不可变的。可以通过索引、类型和标识符来访问和操作文档,使用查询语言进行搜索和过滤。文档的性能受到多个因素的影响,可以通过批量操作提高性能。

你可能感兴趣的:(elasticsearch)