zoukankan      html  css  js  c++  java
  • ElasticSearch 修改

    普通修改

    POST /target>/_update/<_id>

    name字段没有会自动添加字段,如果修改内容和原来一样返回noop而且 _version不变
    
    POST /movies/_update/1
    {
        "doc" : {
            "name" : "new_name",
            "year":1996
        }
    }
    
    返回结果
    {
      "_index" : "movies",
      "_type" : "_doc",
      "_id" : "1",
      "_version" : 4,
      "result" : "noop",
      "_shards" : {
        "total" : 0,
        "successful" : 0,
        "failed" : 0
      },
      "_seq_no" : 9753,
      "_primary_term" : 10
    }
    

    PUT //_doc/<_id>

    PUT /movies/_doc/111220
    {
      "year" : 1995,
        "title" : "Dracula: Dead and Loving It1", 
        "id" : "12",
        "genre" : [
          "Comedy"
        ]
    }
    

    id存在,则修改_version+1

    脚本修改

    POST movies/_update/1
    {
        "script" : {
            "source": "ctx._source.genre.add(params.genre)",
            "lang": "painless",
            "params" : {
                "genre" : "Comedy1"
            }
        }
    }
    
    实现往集合中添加元素
    
    POST movies/_update/2
    {
        "script" : {
            "source": "if (ctx._source.genre.contains(params.genre)) { ctx._source.genre.remove(ctx._source.genre.indexOf(params.genre)) }",
            "lang": "painless",
            "params" : {
                "genre" : "Children"
            }
        }
    }
    删除数组中的某一个数据 脚本的if判断
    
    POST movies/_update/1
    {
        "script" : "ctx._source.remove('genre')"
    }
    
    脚本删除filed
    
    POST movies/_update/1
    {
        "script" : "ctx._source.new_field = 'value_of_new_field'"
    }
    
    添加 filed 名称 new_field,value value_of_new_field
    
  • 相关阅读:
    python join的用法
    python json中的 dumps loads函数
    ubuntu 初始配置
    如何为ubuntu配置java环境
    Ubuntu系统如何安装软件
    取模与取余
    基本数据类型
    js面试题——作用域和闭包
    js面试题-原型和原型链
    js面试题-变量类型和计算
  • 原文地址:https://www.cnblogs.com/roinbi/p/14515753.html
Copyright © 2011-2022 走看看