愚者求师之过,智者从师之长。

请问ES的java API在更新数据时,有没有方法根据指定字段更新

Elasticsearch | 作者 OLALA | 发布于2017年04月11日 | 阅读数:13852

假设ES保存id,a,b,c四个字段,以前更新都是通过id更新。
现在有需求根据id以外的字段更新ES的数据,实现类似update table t set t.b='new value' where t.a='hehe'
把ES中a字段是‘hehe’的数据,b都更新为'new value'
已邀请:

wengqiankun - es新手

赞同来自:

根据a='hehe'构建query查对应document的id,然后根据id进行批量更新b='new value'

gavin

赞同来自:

先查询t.a='hehe'的文档,后使用UpdateRequest,里面的updateRequest.doc()可以实现局部更新。
等价于:
POST /indexname/typename/id/_update 
{ "doc" : { "field": "new value" } }

liubaihui - 大数据开发工程师

赞同来自:

如果字段是一个数组,如何进行局部更新呢?

要回复问题请先登录注册