更新API允许基于提供的脚本更新文档。 该操作从索引获取文档(与分片并置),运行脚本(使用可选的脚本语言和参数),并对结果进行索引(也允许删除或忽略操作)。 它使用版本控制来确保在“get”和“reindex”期间没有发生更新。
请注意,此操作仍然意味着文档的完全重新索引,它只是删除了一些网络往返,并减少了get和索引之间版本冲突的可能性。 需要启用_source字段才能使此功能正常工作。
之前使用PUT方法创建文档时,如果文档已存在,则指定更新操作,这里主要使用脚本进行更新
示例:
POST /spring-elasticsearch-demo/person/2/_update HTTP/1.1
Host: localhost:9200
Content-Type: application/json
cache-control: no-cache
Postman-Token: f8f033b6-ceb3-4a7f-8bd5-636188bba148
{
"script" : {
"source": "ctx._source.name += params.name",
"lang": "painless",
"params" : {
"name" : "泡泡糖"
}
}
}
{
"_index": "spring-elasticsearch-demo",
"_type": "person",
"_id": "2",
"_version": 2,
"result": "updated",
"_shard