elasticsearch put和post
时间: 2024-03-19 16:12:53 浏览: 14
回答: 在Elasticsearch中,PUT和POST是两种不同的HTTP请求方法,用于创建或更新文档。PUT请求用于创建或更新具有指定ID的文档,而POST请求用于创建新的文档,由Elasticsearch自动生成ID。\[1\]
当使用PUT请求时,如果想使用自定义的_id,必须在_index、_type、_id三者都不同时才能接受请求。可以通过两种方法来实现这一点,它们实际上是做同一件事情。你可以选择适合自己的方式。如果同索引、同类型下已经存在同ID的文档,Elasticsearch会将旧文档标记为删除,并添加一个完整的新文档。旧版本文档不会立即消失,但也无法访问。当继续索引更多数据时,Elasticsearch会清理被删除的文档。\[2\]
当使用POST请求时,如果成功创建了一个新文档,Elasticsearch将返回正常的元数据,并且响应状态码是201 Created。另一方面,如果包含相同的_index、_type和_id的文档已经存在,Elasticsearch将返回409 Conflict响应状态码,并给出相应的错误信息。\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [Elasticsearch-入门到精通-7 PUT和POST区别](https://blog.csdn.net/sundenskyqq/article/details/105058854)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]