Hi,
I made this update by query
POST documento2/_update_by_query
{
"script": {
"source": """
for (int i = 0; i < ctx._source.innResultado.innResultadoEfectos.size(); i++) {
if(ctx._source.innResultado.innResultadoEfectos[i].subtipoEfectoCodsubefe != null && ctx._source.innResultado.innResultadoEfectos[i].subtipoEfectoCodsubefe.id == params.subefeId9210) {
if(ctx._source.innResultado.innResultadoEfectos[i].tipoEfectoCodtipefe != null && ctx._source.innResultado.innResultadoEfectos[i].tipoEfectoCodtipefe.id == params.tipefeId9000) {
ctx._source.innResultado.innResultadoEfectos[i].tipoEfectoCodtipefe.id = params.tipefeId9200;
ctx._source.innResultado.innResultadoEfectos[i].tipoEfectoCodtipefe.univoco = params.tipefeNombre9200;
}
}
} """,
"lang": "painless",
"params": {
"subefeId9210": 9210,
"tipefeId9000": 9000,
"tipefeId9200 ": 9200,
"tipefeNombre9200": "Cannabicos"
}
},
"query": {
"bool": {
"must": [
{
"nested": {
"query": {
"bool": {
"must": [
{
"nested": {
"query": {
"bool": {
"must": [
{
"bool": {
"must": [
{
"term": {
"innResultado.innResultadoEfectos.subtipoEfectoCodsubefe.id": {
"value": 9210,
"boost": 1
}
}
},
{
"term": {
"innResultado.innResultadoEfectos.tipoEfectoCodtipefe.id": {
"value": 9000,
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
{
"match": {
"innResultado.innResultadoEfectos.flagActive": {
"query": true,
"operator": "OR",
"prefix_length": 0,
"max_expansions": 50,
"fuzzy_transpositions": true,
"lenient": false,
"zero_terms_query": "NONE",
"auto_generate_synonyms_phrase_query": true,
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"path": "innResultado.innResultadoEfectos",
"ignore_unmapped": false,
"score_mode": "avg",
"boost": 1
}
},
{
"match": {
"innResultado.flagActive": {
"query": true,
"operator": "OR",
"prefix_length": 0,
"max_expansions": 50,
"fuzzy_transpositions": true,
"lenient": false,
"zero_terms_query": "NONE",
"auto_generate_synonyms_phrase_query": true,
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"path": "innResultado",
"ignore_unmapped": false,
"score_mode": "avg",
"boost": 1
}
},
{
"match": {
"flagActive": {
"query": true,
"operator": "OR",
"prefix_length": 0,
"max_expansions": 50,
"fuzzy_transpositions": true,
"lenient": false,
"zero_terms_query": "NONE",
"auto_generate_synonyms_phrase_query": true,
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
}
}
and the response is this:
{
"error": {
"root_cause": [
{
"type": "script_exception",
"reason": "runtime error",
"script_stack": [
"i = 0; i < ctx._source.innResultado.innResultadoEfectos.size(); i++) {\r\n ",
" ^---- HERE"
],
"script": " for (int i = 0; i < ctx._source.innResultado.innResultadoEfectos.size(); i++) {\r\n if(ctx._source.innResultado.innResultadoEfectos[i].subtipoEfectoCodsubefe != null && ctx._source.innResultado.innResultadoEfectos[i].subtipoEfectoCodsubefe.id == params.subefeId9210) {\r\n if(ctx._source.innResultado.innResultadoEfectos[i].tipoEfectoCodtipefe != null && ctx._source.innResultado.innResultadoEfectos[i].tipoEfectoCodtipefe.id == params.tipefeId9000) {\r\n ctx._source.innResultado.innResultadoEfectos[i].tipoEfectoCodtipefe.id = params.tipefeId9200;\r\n ctx._source.innResultado.innResultadoEfectos[i].tipoEfectoCodtipefe.univoco = params.tipefeNombre9200;\r\n }\r\n }\r\n } ",
"lang": "painless"
}
],
"type": "script_exception",
"reason": "runtime error",
"script_stack": [
"i = 0; i < ctx._source.innResultado.innResultadoEfectos.size(); i++) {\r\n ",
" ^---- HERE"
],
"script": " for (int i = 0; i < ctx._source.innResultado.innResultadoEfectos.size(); i++) {\r\n if(ctx._source.innResultado.innResultadoEfectos[i].subtipoEfectoCodsubefe != null && ctx._source.innResultado.innResultadoEfectos[i].subtipoEfectoCodsubefe.id == params.subefeId9210) {\r\n if(ctx._source.innResultado.innResultadoEfectos[i].tipoEfectoCodtipefe != null && ctx._source.innResultado.innResultadoEfectos[i].tipoEfectoCodtipefe.id == params.tipefeId9000) {\r\n ctx._source.innResultado.innResultadoEfectos[i].tipoEfectoCodtipefe.id = params.tipefeId9200;\r\n ctx._source.innResultado.innResultadoEfectos[i].tipoEfectoCodtipefe.univoco = params.tipefeNombre9200;\r\n }\r\n }\r\n } ",
"lang": "painless",
"caused_by": {
"type": "illegal_argument_exception",
"reason": "Illegal list shortcut value [innResultadoEfectos]."
}
},
"status": 500
}
The Get query works good, but the update doesn't.
I don't know how to fix it.