SortScript は、OpenSearch のソートスクリプトを管理するための Python ベースのコマンドラインツールです。このツールを使用して、OpenSearch に組み込まれているスクリプト言語である Cava で記述されたソートスクリプトの作成、アップロード、コンパイル、公開、削除を行います。公開されたソートスクリプトは、ライブクエリに適用して結果をソートできます。
ソートスクリプトのライフサイクル
ソートスクリプトは、クエリで使用される前に、次のステージを通過します:
| ステージ | 説明 | 元に戻せるか |
|---|---|---|
| 作成 | 特定のアプリケーションバージョンの下で、スクリプトを名前付きで登録します。 | はい |
| アップロード | 1 つ以上の Cava ソースファイルをアップロードします。公開前であれば、何度でも再アップロードできます。 | はい |
| コンパイル | 構文を検証します。公開前であれば、何度でも再コンパイルできます。 | はい |
| 公開 | スクリプトをライブアプリケーションにデプロイします。公開後は、アップロードや再コンパイルはできません。実行可能な操作は削除のみです。 | いいえ |
| 削除 | スクリプトを削除します。削除する前に、スクリプトがクエリでアクティブになっていないことを確認してください。そうしないと、クエリはエラーを返します。 | — |
| 表示 | どのステージでもスクリプトのステータスを確認します。 | — |
前提条件
開始する前に、次のものが揃っていることを確認してください:
バージョン 2.7 以降の Python がインストールされていること
ご利用の AccessKey ID と AccessKey Secret
SortScript をダウンロードし、アーカイブを展開していること
SortScript のセットアップ
展開したディレクトリにある tools_conf.py を開き、ご利用の AccessKey ID と AccessKey Secret を設定します。
ソートスクリプトの管理
すべてのコマンドは、次のパターンに従います:
python ./sortscript <command> [parameters]ソートスクリプトの作成
python ./sortscript create --appName script_test --appVersionId 12345678 --scriptName script1| パラメーター | 説明 |
|---|---|
--appName | アプリケーションの名前 |
--appVersionId | アプリケーションのバージョン ID |
--scriptName | ソートスクリプトに割り当てる名前。混乱を避けるため、OpenSearch コンソールの式名とは異なる名前を使用してください。 |
スクリプトコードのアップロード
各 Cava ソースファイルを個別にアップロードしてください。Cava 構文については、「データ型と変数型」をご参照ください。
python ./sortscript updatecontent --appName script_test --appVersionId 12345678 --scriptName script1 --scriptFileName BasicSimilarityScorer.cava --localFile ./BasicSimilarityScorer.cava
python ./sortscript updatecontent --appName script_test --appVersionId 12345678 --scriptName script1 --scriptFileName IntelligenceAlgorithmScorer.cava --localFile ./IntelligenceAlgorithmScorer.cava| パラメーター | 説明 |
|---|---|
--appName | アプリケーションの名前 |
--appVersionId | アプリケーションのバージョン ID |
--scriptName | 更新するソートスクリプトの名前 |
--scriptFileName | OpenSearch に保存されるスクリプトファイルの名前 |
--localFile | アップロードするローカルファイルのパス |
ソートスクリプトのコンパイル
python ./sortscript compile --appName script_test --appVersionId 12345678 --scriptName script1構文エラーが返された場合は、ローカルファイルで修正し、再アップロードして再コンパイルします。
ソートスクリプトの公開
スクリプトがエラーなしでコンパイルされたら、公開してクエリで利用できるようにします。
公開は元に戻せません。スクリプトが公開されると、新しいコードのアップロードや再コンパイルはできなくなります。変更を加えるには、スクリプトを削除して新しいスクリプトを作成する必要があります。
python ./sortscript release --appName script_test --appVersionId 12345678 --scriptName script1ソートスクリプトの表示
特定のスクリプトを表示するには:
python ./sortscript list --appName script_test --appVersionId 12345678 --scriptName script1アプリケーションバージョン内のすべてのスクリプトを一覧表示するには:
python ./sortscript list --appName script_test --appVersionId 12345678スクリプトファイル内容の表示
python ./sortscript getcontent --appName script_test --appVersionId 12345678 --scriptName script1 --scriptFileName BasicSimilarityScorer.cava
python ./sortscript getcontent --appName script_test --appVersionId 12345678 --scriptName script1 --scriptFileName IntelligenceAlgorithmScorer.cavaスクリプトファイルの削除
python ./sortscript deleteScriptFile --appName script_test --appVersionId 12345678 --scriptName script1 --scriptFileName BasicSimilarityScorer.cava
python ./sortscript deleteScriptFile --appName script_test --appVersionId 12345678 --scriptName script1 --scriptFileName IntelligenceAlgorithmScorer.cavaソートスクリプトの削除
削除する前に、スクリプトがアクティブなクエリで参照されていないことを確認してください。使用中のスクリプトを削除すると、それらのクエリはエラーを返すようになります。
python ./sortscript delete --appName script_test --appVersionId 12345678 --scriptName script1スクリプトが削除されたことを確認するには、list を実行し、表示されなくなったことを確認します。
クエリでのソートスクリプトの使用
ソートスクリプトを公開した後、クエリでそれを参照してカスタムランキングを適用します。クエリリクエストで次のパラメーターを設定します:
| パラメーター | 値 |
|---|---|
second_rank_name | 公開されたソートスクリプトの名前 |
second_rank_type | cava_script |
second_rank_name で指定されたスクリプトが存在しない場合でも、クエリ結果は返されますが、応答にはエラーも含まれます。
関連トピック
データ型および変数型 — Cava 言語リファレンス