Elasticsearch Java API(九)--删除文档的field以及field的属性

标签: elasticsearchdeletefieldesjava-api
3745人阅读 评论(3) 收藏 举报
分类:

一、需求

项目中需要实现删除文档的一个field以及删除指定field的一个属性.
以文档test/document/1为例:

{
    "_index": "test",
    "_type": "document",
    "_id": "1",
    "_score": 1,
    "_source": {
        "class": "com.test.data",
        "id": 1,
        "items": [{
            "class": "com.test.data",
            "id": 1
        }],
        "lastUpdated": "2016-07-22T11:26:56Z",
        "processInstance": {
            "class": "com.test.data",
            "id": 1
        },
        "tianshu": 0.5,
        "bianhao": "askaa3333a"
    }
}

删除”bianhao”就是删除一个field,删除”processInstance”的”id”就是删除field的一个属性.

二、删除field

client.prepareUpdate("test", "document", "1").setScript(new Script(     "ctx._source.remove(\"bianhao\")",ScriptService.ScriptType.INLINE, null, null)).get();

三、删除field的属性

client.prepareUpdate("test", "document", "1").setScript(new Script(     "ctx._source.processInstance.remove(\"id\")",ScriptService.ScriptType.INLINE, null, null)).get();

四、fild属性为数组

暂时没有找到方法,待更新.

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    QQ群

    交流群:559831158

    个人资料
    • 访问:700025次
    • 积分:7690
    • 等级:
    • 排名:第2952名
    • 原创:192篇
    • 转载:2篇
    • 译文:6篇
    • 评论:407条
    StackOverFlow
    http://stackoverflow.com/users/6526424
    统计
    博客专栏
    文章分类
    最新评论