elasticsearch 单文档 API的使用之四(更新文档)

本文档介绍了如何使用Elasticsearch的更新API进行文档更新,特别是通过脚本更新和部分文档更新。更新API允许基于脚本修改文档,并支持版本控制以避免冲突。脚本可以用于添加新字段、更新数组和执行其他操作。同时,部分文档更新通过'ctx._source'和'params'进行,并使用'doc'字段进行递归合并。如果文档不存在,可以使用'upserts'字段插入新文档。

更新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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值