脚本参数不支持 ElasticSearch v7.3 更新脚本中的 START_ARRAY 类型的值

2024-05-25

我正在尝试更新索引文档,但通过 Postman 更新 API 脚本时出现以下错误

{
    "error": {
        "root_cause": [
            {
                "type": "x_content_parse_exception",
                "reason": "[5:15] [script] params doesn't support values of type: START_ARRAY"
            }
        ],
        "type": "x_content_parse_exception",
        "reason": "[5:15] [UpdateRequest] failed to parse field [script]",
        "caused_by": {
            "type": "x_content_parse_exception",
            "reason": "[5:15] [script] params doesn't support values of type: START_ARRAY"
        }
    },
    "status": 400
}

由于错误清楚地表明我正在更新文档中包含数据数组的字段。这是一个示例

"hasParts": [
    {
        "documentLevel": 2,
        "levelProperties": {
            //some properties
        }
    },
    {
        "documentLevel": 3,
        "levelProperties": {
            //some properties
        }
    },
    {
        "documentLevel": 3,
        "levelProperties": {
           //some properties
        }
    },
    {
        "documentLevel": 3,
        "levelProperties": {
            //some properties
        }
    }
]

我想使用文档之一的更新 API 更新上述属性。

这可能吗?如果可能的话我做错了什么? 先谢谢您的帮助。

EDIT:这是脚本

{
  "script": {
    "source": "ctx._source.hasParts.add(params.haspart)",
    "lang": "painless",
    "params": [
      {
        "haspart": [
          {
            "documentLevel": 3,
            "levelProperties": {
              //some properties
            }
          },
          {
            "documentLevel": 3,
            "levelProperties": {
              //some properties
            }
          },
          {
            "documentLevel": 3,
            "levelProperties": {
              //some properties
            }
          },
          {
            "documentLevel": 3,
            "levelProperties": {
              //some properties
            }
          },
          {
            "documentLevel": 3,
            "levelProperties": {
              //some properties
            }
          }
        ]
      }
    ]
  }
}

Your params部分不能是数组,而是对象,请改用以下脚本:

{
  "script": {
    "source": "ctx._source.hasParts.add(params.haspart)",
    "lang": "painless",
    "params": {
        "haspart": [
          {
            "documentLevel": 3,
            "levelProperties": {
              //some properties
            }
          },
          {
            "documentLevel": 3,
            "levelProperties": {
              //some properties
            }
          },
          {
            "documentLevel": 3,
            "levelProperties": {
              //some properties
            }
          },
          {
            "documentLevel": 3,
            "levelProperties": {
              //some properties
            }
          },
          {
            "documentLevel": 3,
            "levelProperties": {
              //some properties
            }
          }
        ]
    }
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

脚本参数不支持 ElasticSearch v7.3 更新脚本中的 START_ARRAY 类型的值 的相关文章

随机推荐

  • 按列名称索引拆分数据框

    这是先前问题的变体 df lt data frame matrix rnorm 9 9 ncol 9 names df lt c c 1 d 1 e 1 a p b p c p 1 o1 2 o1 3 o1 我想按下划线 后面的column
  • 逐字遍历句子

    如何逐字遍历任何给定的句子 java中有内置函数吗 我不知道如何开始 像这样的事情 String sentence Your sentence here String words sentence split s splits by whi
  • matplotlib savefig 性能,在循环内保存多个 png

    我希望找到一种方法来优化以下情况 我有一个使用 matplotlib 的 imshow 创建的大型等高线图 然后 我想使用此等高线图来创建大量 png 图像 其中通过更改 x 和 y 限制以及长宽比 每个图像都是等高线图像的一小部分 因此
  • 从操作写入输出流

    由于一些奇怪的原因 我想将 HTML 从控制器操作直接写入响应流 我理解MVC分离 但这是一个特例 可以直接写入吗HttpResponse溪流 在这种情况下 哪个IView控制器操作应该返回对象吗 我可以返回 空 吗 我使用了一个派生类Fi
  • 如何从javascript数组中获取唯一用户名的最后记录

    我有一个对象数组 例如 id 8 username peter weight 80 date 2019 10 14 id 1 username harry weight 80 date 2019 01 01 id 2 username ha
  • 用玩笑测试 Observables

    如何使用 Jest 测试 Observables 我有一个每秒触发一次的 Observable 我想在玩笑超时之前测试第一个事件是否正确触发 const myObservable timer 0 1000 Example here it s
  • Elasticsearch 日期范围交集

    我在弹性搜索中存储类似以下信息的信息 timeslot start at 2013 02 01 timeslot end at 2013 02 03 鉴于我有另一个日期范围 例如 从用户输入给出 我想搜索相交的时间范围 与此类似 确定两个日
  • Chrome 中的 jQuery 动画问题

    我使用 jQuery 1 3 2 和 jQuery 颜色插件为 jQuery 中的 a 元素设置动画 我同时对 颜色 和 背景颜色 属性进行动画处理 在 IE8 和 FF 中它运行得很好 Chrome 对鼠标悬停颜色进行动画处理 然后停止
  • 寻找简单的Java内存缓存[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个简单的Java内存缓存 它具有良好的并发性 因此LinkedHashMap不够好 并且可以
  • MySQL 存储浮点数

    我正在尝试保存这么长的浮点数 13 00386644742523 它基本上是 Lat 和 Lng 值 当我将它保存在数据库中时 它被存储为 13 0039 您应该明确使用精度并且类型应该是DECIMAL NOT FLOAT因为小数点后的每一
  • PyFPDF在指定大小时无法添加页面

    在 pyfpdf 文档上据说可以在添加页面时指定格式 fpdf add page orientation format same False 但在指定格式时它给了我一个错误 error pdf add page format 1000 10
  • UCS2 与 UTF。 UCS2编码无法显示哪些语言?

    UCS2 比 UTF 编码更容易在 Visual C 中使用 UCS2 编码不支持哪些语言 没有什么是你可能关心的 或者更重要的是 没有字体 UCS2 为您提供基本的多语言平面 您可以在 Unicode 网站上找到指定平面的概述 0 基本多
  • 替换 gtable 中 ggplot 的元素:标签和网格线

    我正在学习操纵ggplot对象与gtable 这是我问的一个相关问题 用 grid 和 gtable 拆解 ggplot https stackoverflow com questions 27750737 dismantling a gg
  • 从 javascript 访问 JSF 资源

    我想访问 JSF 资源 在WebPages resources img 来自 JavaScript 函数 例如 function hideSpinner arguments i poster img sppiner png 我努力了argu
  • 动态添加 TextView - Android

    如何动态添加 TextView 到此 注释掉的代码不起作用 public class myTextSwitcher extends Activity private TextView myText public myTextSwitcher
  • 为什么方法引用不跟踪这一点?

    我正在使用 Babel 来转译 ES2015 类 class Foo constructor foo this foo foo sayFoo console log this foo 如果我说这样的话 这个课程的效果就完全符合我的预期foo
  • Ada:用可变大小的数组打包记录

    我正在寻找创建一个打包记录 它可以容纳长度从 5 50 个元素不等的数组 是否可以以这样的方式来完成此操作 以便可以在不浪费空间的情况下打包记录 当我去创建记录时 我会知道数组中有多少元素 the range of the array ty
  • 获取数组中从右上角到左下角的所有对角线

    我试图存储矩阵中从右上角到左下角的所有对角线 并将它们存储在一个数组中 matrix array 2 0 0 2 3 0 0 3 3 0 0 2 0 0 0 0 预期产出 2 0 3 0 0 2 2 0 0 0 3 0 0 3 0 0 我试
  • JDK 8 - “无法解析类型 java.util.Map$Entry”[重复]

    这个问题在这里已经有答案了 我尝试使用 HashMap 但收到错误 无法解析类型 java util Map Entry 它是从所需的 class 文件间接引用的 我正在使用 JDK 8 和 Eclipse 有人知道为什么吗 My code
  • 脚本参数不支持 ElasticSearch v7.3 更新脚本中的 START_ARRAY 类型的值

    我正在尝试更新索引文档 但通过 Postman 更新 API 脚本时出现以下错误 error root cause type x content parse exception reason 5 15 script params doesn