# 获取与更新文档

URL: https://caijiao.org/elasticsearch/02.basic/07.doc-get-update
Source: docs/elasticsearch/02.basic/07.doc-get-update.md
Description: 本章系统介绍如何获取和更新 Elasticsearch 中的文档，涵盖基于 ID 的查询、部分更新和整体替换方法。

Elasticsearch 支持灵活的文档读取与更新方式，理解这些操作有助于实现数据的实时管理与维护。

## 1. 获取文档

通过文档 ID 获取指定文档的完整内容。

```http
GET /my-index/_doc/1
````

成功返回文档的 `_source` 字段内容和元信息。

## 2. 更新文档（部分更新）

使用 `_update` API 实现部分字段更新，不需覆盖整个文档。

```http
POST /my-index/_update/1
{
  "doc": {
    "views": 200
  }
}
```

该请求将仅更新文档 ID 为 1 的 `views` 字段。

## 3. 更新文档（整体替换）

直接使用 `PUT` 请求替换整个文档。

```http
PUT /my-index/_doc/1
{
  "title": "Elasticsearch 高级教程",
  "author": "李四",
  "publish_date": "2024-01-10",
  "views": 250
}
```

## 4. 注意事项

* 部分更新不会修改未指定字段，整体替换会覆盖所有内容
* 更新操作需指定文档 ID
* 更新[请求](/elasticsearch/02.basic/02.http-methods)支持脚本，能实现复杂字段变更

---

通过灵活的获取和更新文档操作，可以有效维护 Elasticsearch 中的数据完整性和实时性。
