Elasticsearch6.5中文文档-更新文档

除了能够索引和替换文档之外,我们还可以更新文档。请注意,Elasticsearch实际上并未在后台进行就地更新。每当我们进行更新时,Elasticsearch都会删除旧文档,然后将更新的新文档编入索引。

本示例展示如何更改文档(ID为1)的name字段:

 

POST /customer/_doc/1/_update?pretty
{
  "doc": { "name": "Jane Doe" }
}
本示例展示如何更改文档(ID为1)的name字段并添加age字段:
POST /customer/_doc/1/_update?pretty
{
  "doc": { "name": "Jane Doe", "age": 20 }
}
 

也可以使用简单的脚本执行更新。本示例使用脚本将年龄增加5:

POST /customer/_doc/1/_update?pretty
{
  "script" : "ctx._source.age += 5"
}
 

在上面的示例中,ctx._source指的是将要更新的当前源文档。

Elasticsearch提供了在给定查询条件(例如一条SQL UPDATE-WHERE语句)的情况下更新多个文档的功能。见docs-update-by-queryAPI