scriptingをオフにするとどうなるか?スクリプティングを使い続けるには?ディスクに書かれたスクリプトを使用する質問?※この記事は次のブログを翻訳したものになります。インデックスに保存されたスクリプトを動的に実行する機能をオフにしました。Groovyはまだデフォルトのスクリプト言語です。どのように使い続けるかを説明します。どのように使用し続けるかを理解する助けとなるはずです。さまざまなリクエストの一部としてスクリプトを送信することができます。あなたのユースケースのために、通常の動作よりも拡張した動作をさせるためにスクリプトを追加できます。以下のリクエストは、ダイナミックスクリプトを含んでいます。shiftが同じ値を持っている時だけドキュメントを返します。}}言語を変えることもできます。Expressionsに変更)されることもあります。langパラメータによって言語を指定できます。それはダイナミック?上記の例はダイナミックスクリプトです。それは、実際のスクリプトの部分はサーバサイドで動的に解釈されコンパイルされる必要があるからです。ダイナミックスクリプトはElasticsearchのAPIによってデータノードに送信されます。script)も含みます。それは、ダイナミックスクリプトとして扱われます。scriptingはデフォルトでオフになりました。先ほどのスクリプトについても同様で、もし、先ほどのリクエストを実行すると、次のようなエラーが発生します。(一部省略してあります。disabled]」です。スクリプティングを使い続けるには?Elasticsearchでスクリプトを実行するには3つの方法があります。script)を使う方法です。利用で、それらを要求に応じて利用することです。RDBのように保存されたプロシージャとして同じ方法で実行させるものと同様です。前もって、スクリプトを記述しておき、リクエストの一部として後から、名前で呼び出して実行可能です。}}あまり変わっていないことに気づくでしょう。scriptの部分が、前もって記述されたスクリプトの名前script_idに変更されただけです。ディスクにファイルとしてスクリプトを保存することです。することで、各スクリプトを設定として保存します。サンドボックス化されないスクリプトを使い続けることができる方法です。これを、.groovy拡張子を持ったファイルとして書き出すことができます。Elasticsearchは60秒(elasticsearch.ymlのwatcher.intervalで変更可能)でこのスクリプトを認識し、今後のリクエストに利用できるようにプリコンパイルするでしょう。そのファイルはElasticsearch実行ユーザによって読み込みができる必要があります。これをディスクに書き込んだ後、あなたの設定ディレクトリは次のようになっています。信頼された環境にスクリプトを追加することでダイナミックスクリプトとなることを許します。ディスクに書かれたスクリプトを使用するスクリプトは、ロードされたスクリプトになるまでは、利用できません。ログファイルに次のようなログが表示されるまではです。それを利用することができます。利用するために、file(script_idではありません!)としてスクリプト名を指定します。}}Note:langは必須ではありません。Groovyがデフォルトの言語のためです。変更したい場合、言語が正しいスクリプトを見つけるために提供されている必要があります。良い方法は、アプリケーションがlangパラメータを含んでいることを勧めます。これは、将来、デフォルトのスクリプト言語が変更されても、問題ないからです。質問?もし、質問があれば、遠慮なくTwitter(@elasticsearch)で教えて下さい。pageで報告をお願いします。