ZPY博客

elasticsearch7 3脚本执行报错cannot cast java lang string to java util arraylist

---
title: elasticsearch7.3脚本执行报错Cannot cast java.lang.String to java.util.ArrayList
date: 2019-09-01 08:02:30
categories: 全文检索
tags:
- 报错
- string
- add
- 脚本
- elasticsearch
- ArrayList
- 数组
- new_tag
---

现document有一个字段tags是一个数组['a','b']。

现在要往这个tags里新增一个tag,脚本里写的是ctx._source.tags+=params.new_tag。实际上这个写法在5.x里是没有问题的,而高版本里会报错Cannot cast java.lang.String to java.util.ArrayList

正确的写法应该是ctx._source.tags.add(params.new_tag)