Q:有两个人掉到陷阱里了,死的人叫死人,活人叫什么?

ES java api怎么实现删除document里面的一个field

Elasticsearch | 作者 jianjianhe | 发布于2017年10月18日 | 阅读数:8180

ES局部更新文档中的field内容是可以通过UpdateRequest 或 prepareUpdate() api实现,但是如果要删除文档中的field ES有提供相应的api操作吗,还是只能通过PUT操作进行全局更新,即重新创建一个文档,只是不包含要删除的文档field来实现吗?在此请教一下各位
已邀请:

Cheetah

赞同来自:

client.prepareUpdate("index", "type", "id").setScript("test",ScriptService.ScriptType.INLINE).get();
这里的test是函数
函数内容:ctx._source.remove('number')

jianjianhe

赞同来自:

原来要用Script来实现,那块用的少不太了解,这里再麻烦请教一下你另外一个问题:就是如果想对一个type里面的所有文档都删除某field属性是不是只能重新构建mapping结构吧,因为我记得索引mapping更新不能修改,只能添加,没办法做到删除mapping中的某个field吧

要回复问题请先登录注册