弹性搜索5.4更新\添加嵌套文档

时间:2018-02-22 10:22:24

标签: hadoop elasticsearch elasticsearch-plugin

VSToolsPath
  1. 如何在兴趣爱好中增加新的价值("爱好":["板球","足球","阅读书籍"])
  2. 如何在其他人中添加新字段(例如:位置)
  3. 如何从兴趣爱好中删除"板球。

1 个答案:

答案 0 :(得分:1)

您可以根据您的要求使用scripted updatedocumentation link)。

  1. 在hobbiles

    中查询添加值
    {
        "script" : {
            "source": "ctx._source.others.hobbies.add(params.hobby)",
            "lang": "painless",
            "params" : {
            "hobby": "reading books"
         }
       }
    }
    


  2. 在其他人中添加新字段

    {
        "script": {
            "source": "ctx._source.others.location = 'value_of_new_field'",
            "lang": "painless"
        }
    }
    


  3. 从业余爱好中删除板球

    {
        "script" : {
            "source": "int index = ctx._source.others.hobbies.indexOf(params.remove_string); if(index != -1){ctx._source.others.hobbies.remove(index);}",
            "lang": "painless",
            "params" : {
                "remove_string" : "cricket"
            }
        }
    }
    



  4. UPDATE-1 根据以下评论中的要求,可以添加数组字段。

    添加数组字段

        {
            "script": {
                "source": "ctx._source.extra.location = []",
                "lang": "painless"
            }
        }