对无痛脚本编程非常陌生,我发现它有很多问题。它和我过去使用过的任何脚本语言都不一样。我100%确定这是一个语法问题,但无法解决。
我有一个包含大量文档的静态索引,希望创建一个唯一的可识别字段,我创建了一个名为“doc_id”的Map,它是一个整数,并将所有值设置为0。
我尝试构造一个for循环来遍历索引中的所有项,并为每个存在的文档将doc_id增加1。
POST index-name/_update_by_query?conflicts=proceed&&wait_for_completion=false
{
"script": : {
"source": """
int i = 0;
for (item in ctx._source['doc_id']) {
ctx._source['doc_id']=i;
i++;
}
"""
}.
"query": {
"match_all": {}
}
}
错误:类型:非法参数异常”原因:“无法迭代[java.lang.Integer]”
我的方法正确吗?我应该如何定义一个列表来迭代?我以为这就是“查询”。
1条答案
按热度按时间4urapxun1#
希望这能有所帮助:
以上是不言自明的,但如果有什么不清楚的,你可以评论-我会尽量回答。