痛みのないスクリプト言語
Painlessは、Elasticsearch専用に設計された高性能で安全なスクリプト言語です。Painlessを使用すると、Elasticsearchでスクリプトがサポートされている場所で、安全にインラインおよび保存されたスクリプトを書くことができます。
Painlessは、以下のコア原則に基づく多数の機能を提供します:
- 安全性: クラスターのセキュリティを確保することが最も重要です。そのため、Painlessはクラスのメンバーまでの粒度を持つ詳細な許可リストを使用します。許可リストに含まれないものはすべてコンパイルエラーになります。スクリプトコンテキストごとの利用可能なクラス、メソッド、およびフィールドの完全なリストについては、Painless APIリファレンスを参照してください。
- パフォーマンス: PainlessはJVMバイトコードに直接コンパイルされ、JVMが提供するすべての最適化を活用します。また、Painlessは通常、実行時に追加の遅いチェックを必要とする機能を避けます。
- シンプルさ: Painlessは、基本的なコーディング経験を持つ誰にでも自然に親しみやすい構文を実装しています。Painlessは、可読性を高め、ボイラープレートを排除するためのいくつかの追加の改善を加えたJava構文のサブセットを使用しています。
スクリプトの開始
Painlessでスクリプトを始める準備はできましたか?最初のスクリプトを書く方法を学びましょう。
すでにPainlessに精通している場合は、Painlessの構文と言語機能の詳細な説明については、Painless言語仕様を参照してください。