zoukankan      html  css  js  c++  java
  • ElasticSearch6.3脚本更新

    使用上篇文章创建的索引进行学习:https://www.cnblogs.com/wangymd/p/11200996.html

    官方文档:https://www.elastic.co/guide/en/elasticsearch/painless/6.3/painless-examples.html 

    1、脚本更新指定字段

    方式1:

    POST test_index/test_type/4/_update
    {
      "script":{
        "source":"ctx._source.count = 10"
      }
    }

    方式2:

    POST test_index/test_type/4/_update
    {
      "script":{
        "source":"ctx._source.count = params.count",
        "params": {
          "count":20
        }
      }
    }

    POST test_index/test_type/4/_update

    {
      "script" : {
        "source": "ctx._source.count++"  #自增
      }
    }

    POST test_index/test_type/4/_update
    {
      "script" : {
        "source": "ctx._source.count--"  #自减
      }

    2、数组添加值

    索引增加字段

    PUT test_index/test_type/_mapping
    {
      "properties": {
        "tags" : {
            "type": "text"
        }
      }
    }

    索引字段设置数组值

    POST test_index/test_type/4/_update
    {
      "doc": {
        "tags":["aa"]
      }
    }

    索引字段添加数组值

    注意字段无数据时直接添加会发生错误。

    POST test_index/test_type/4/_update
    {
      "script":{
        "source":"ctx._source.tags.add(params.tags)",
        "params": {
          "tags":"bb"
        }
      }
    }

    3、添加字段

    POST test_index/test_type/4/_update
    {
      "script" : "ctx._source.date = '2019-07-25'"  #字段名和字段值
    }

    4、删除字段

    POST test_index/test_type/4/_update
    {
      "script" : "ctx._source.remove('date')"
    }

    5、复杂的脚本

    ①根据不同条件执行不同的命令

    POST test_index/test_type/4/_update
    {
      "script" : {
        "source": "if (ctx._source.tags.contains(params.tag)) { ctx.op = 'delete' } else { ctx.op = 'none' }",  #tags包含aa"进行删除",其他误操作
        "lang": "painless",
        "params" : {
          "tag" : "aa"
        }
      }
    }

  • 相关阅读:
    spicy及remote-viewer登录方法
    1000: 恶意IP 课程作业
    一种快速找数的方法
    基数排序c++实现
    二叉排序树的实现
    sicily 数据结构 1014. Translation
    堆排序实现
    插入排序实现--直接实现,二分插入实现
    希尔排序--改进的插入排序
    归并排序--较快的算法之一
  • 原文地址:https://www.cnblogs.com/wangymd/p/11244856.html
Copyright © 2011-2022 走看看