これは面白いスクリプトです。問題はctx._source.academies.remove(index)です。なぜならctxはそこに表示されないからです。インデックス変数は正しいです...しかし、私はそこにctxを使用することはできません。助言がありますか?Elasticsearch Groovy Script eachWithIndex
{
"script" : "ctx._source.academies.eachWithIndex { it, index -> if(it['academy_id'] == academy_id) ctx._source.academies.remove(index) }",
"params": {
"academy_id": 344
}
}
あなたは完璧です!!!!!!ありがとうございました....どのようにacademy_id配列を作ることができますか?アレイとしてアカデミーをparamsに渡すことはできますか?だから、一度に複数のIDを持つ複数のアカデミーを削除することができます – Michalis
もちろんあります。あなたが必要とするのは、クロージャから返されるブール値だけです。更新された回答を参照してください。 – dmahapatro