Elasticsearch 更新文档 - 奇客谷教程

Elasticsearch 教程

相关推荐

Elasticsearch 更新文档


除了创建和替换文档外,还可以更新文档。注意,Elasticsearch实际上并没有在底层执行就地更新,而是先删除旧文档,再添加新文档。

这个例子展示了,把文档(ID为1)中的name字段更改为“Jane Doe”:

API

POST /customer/_update/1?pretty
{
  "doc": { "name": "Jane Doe" }
}

复制

CURL

curl -X POST "localhost:9200/customer/_update/1?pretty" -H 'Content-Type: application/json' -d'
{
  "doc": { "name": "Jane Doe" }
}
'

复制

这个例子展示了,把文档(ID为1)中的name字段更改为“Jane Doe”,再添加一个年龄字段:

API

POST /customer/_update/1?pretty
{
  "doc": { "name": "Jane Doe", "age": 20 }
}

复制

CURL

curl -X POST "localhost:9200/customer/_update/1?pretty" -H 'Content-Type: application/json' -d'
{
  "doc": { "name": "Jane Doe", "age": 20 }
}
'

复制

还可以使用简单的脚本执行更新。这个例子使用脚本将年龄增加5岁:

API

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

复制

CURL

curl -X POST "localhost:9200/customer/_update/1?pretty" -H 'Content-Type: application/json' -d'
{
  "script" : "ctx._source.age += 5"
}
'

复制

在上面的例子中,ctx._source引用源文档。

Elasticsearch提供了根据查询条件更新文档的能力(类似SQL update - where语句)。详情参考官网:docs-update-by-query API


Doc navigation

Elasticsearch 删除文档 →

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值