次の2つのドキュメントとElasticsearchインデックスがあります。Elasticsearch updateByQuery構文の例を探して(ノードドライバ)
[
{
"_index": "myIndex",
"_type": "myType",
"_id": "es1472002807930",
"_source": {
"animal": "turtle",
"color": "green",
"weight": 20,
}
},
{
"_index": "myIndex",
"_type": "myType",
"_id": "es1472002809463",
"_source": {
"animal": "bear",
"color": "brown"
"weight": 400,
}
}
]
その後は、あなたがクマについて、この更新されたデータを取得する:
{
"color": "pink",
"weight": 500,
"diet": "omnivore",
}
だから、あなたをクマの "色"と "重量"の値を更新し、 "クマ"の文書に "ダイエット"キーを追加したいとします。
nodejsドライバを使用すると、どのようなupdateByQuery構文で「bear」ドキュメントにこれらの新しい値が更新されるのですか?
(注:この質問は完全にSOコミュニティに、より有用であることが編集されている)
動的スクリプトが有効になっています 私はES 2を使用しています。3 私はNodejsドライバライブラリ私は実行 使用しています: client.updateByQuery({ インデックス: 'myIndex'、 タイプ: 'MYTYPE'、 "クエリ":{ "マッチ":{ を"動物":、 を }}を "負担"、 "スクリプト": "ctx._source.color = 'グリーン'" }、関数(ERR、RES){ IF(ERR){reportErrorと(ERR)} }) このエラーが発生しました(次のコメントに記載されています): –
Ok 、それはあなたが互換性のESバージョンここで(<=1.7 or > = 2.3) – Val
を持って動作するはずはエラーです: https://kobra.io/#/e/-KPuwAytjSUkU5K_BbFv –