AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
# 更新文档 除了可以索引、替换文档之外,我们也可以更新一个文档。但要注意,Elasticsearch底层并不支持原地更新。在我们想要做一次更新的时候,Elasticsearch先删除旧文档,然后再索引新的文档。 下面的例子展示了怎样将ID为1的文档的name字段改成“Jane Doe”: ``` POST /customer/doc/1/_update?pretty { "doc": { "name": "Jane Doe" } } ``` 下面的例子展示了怎样将ID为1的文档的name字段改成“Jane Doe”的同时,给它加上age字段: ``` POST /customer/doc/1/_update?pretty { "doc": { "name": "Jane Doe", "age": 20 } } ``` 更新也可以通过使用简单的脚本来进行。这个例子使用一个脚本将age加5: ``` POST /customer/doc/1/_update?pretty { "script" : "ctx._source.age += 5" } ``` 在上面的例子中,`ctx._source`指向当前被更新的文档。 Elasticsearch提供同时更新符合指定查询条件的多个文档的功能(类似于SQL的`UPDATE-WHERE`语句)。See [docs-update-by-query API](https://www.elastic.co/guide/en/elasticsearch/reference/6.0/docs-update-by-query.html) > my note > > Elasticsearch底层并不支持原地更新。在我们想要做一次更新的时候,Elasticsearch先删除旧文档,然后再索引新的文档。