# 添加文档

URL: https://caijiao.org/elasticsearch/02.basic/06.doc-add
Source: docs/elasticsearch/02.basic/06.doc-add.md
Description: 本章介绍如何向 Elasticsearch 索引添加文档，包括单条写入、自动生成 ID 和自定义 ID 方式，助你快速掌握数据写入基础。

在 Elasticsearch 中，文档是存储的最小单位，通常以 JSON 格式表示。添加文档即向指定索引写入数据，是构建搜索与分析系统的基础操作。

## 1. 添加单条文档（自动生成 ID）

使用 `POST` 请求，Elasticsearch 会自动生成文档 ID。

```http
POST /my-index/_doc
{
  "title": "Elasticsearch 教程",
  "author": "张三",
  "publish_date": "2024-01-01",
  "views": 100
}
````

返回结果包含自动生成的 `_id`。

## 2. 添加单条文档（自定义 ID）

使用 `PUT` 请求，可以指定文档 ID，方便后续更新和删除。

```http
PUT /my-index/_doc/1
{
  "title": "Elasticsearch 教程",
  "author": "李四",
  "publish_date": "2024-01-02",
  "views": 150
}
```

## 3. 注意事项

* 索引名称必须存在，否则会返回错误
* 文档字段应符合映射定义，避免类型冲突
* 自定义 ID 需保证唯一，否则会覆盖原文档

---

掌握添加文档的方法，是实现数据写入和搜索的第一步，为后续查询与分析奠定基础。
