SortScript は、OpenSearch のソートスクリプトを管理するための Python ベースの CLI ツールです。これを使用して、検索結果のランキング方法を制御する Cava ベースのソートスクリプトを作成、アップロード、コンパイル、公開、削除できます。
ソートスクリプトには、OpenSearch コンソールで作成された式とは異なる名前を付けてください。どちらもクエリで名前によって参照できるため、名前を区別することで混乱を防ぐことができます。
前提条件
開始する前に、以下をご確認ください:
バージョン 2.7 以降の Python
SortScript CLI — ツールをダウンロード
ご利用の AccessKey ID と AccessKey Secret が
tools_conf.pyに設定されていること
ソートスクリプトのライフサイクル
ソートスクリプトは、次のステージを遷移します:
| ステージ | 説明 | 公開前に繰り返し可能か? |
|---|---|---|
| 作成 | アプリケーションバージョンに関連付けられたスクリプト名を登録します | いいえ |
| コードのアップロード | .cava ソースファイルをアップロードします | はい |
| コンパイル | 構文を検証します | はい |
| 公開 | 本番環境にプロモートし、スクリプトをロックします | いいえ |
| 削除 | 不要になったスクリプトを削除します | いいえ |
| ビュー | いつでもステータスやコードを検査します | N/A |
公開後、スクリプトはロックされます。新しいコードのアップロードや再コンパイルはできません。実行可能な操作は削除のみです。
ソートスクリプトの管理
すべてのコマンドで、以下の共通パラメーターを使用します:
| パラメーター | 説明 | 例 |
|---|---|---|
--appName | アプリケーション名 | script_test |
--appVersionId | アプリケーションバージョン ID | 12345678 |
--scriptName | ソートスクリプト名 | script1 |
--scriptFileName | スクリプト内の Cava ソースファイルの名前 | BasicSimilarityScorer.cava |
--localFile | アップロードするファイルのローカルパス | ./BasicSimilarityScorer.cava |
ソートスクリプトの作成
python ./sortscript create --appName script_test --appVersionId 12345678 --scriptName script1スクリプトコードのアップロード
Cava ソースファイルを個別にアップロードします。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スクリプトを公開する前であれば、ファイルの再アップロードを何度でも行うことができます。
ソートスクリプトのコンパイル
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アプリケーションバージョン内のすべてのソートスクリプトを一覧表示するには:
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クエリでのソートスクリプトの使用
検索結果にソートスクリプトを適用するには:
ソートスクリプトが公開されていることを確認します。
クエリで、
second_rank_nameをソートスクリプトの名前に設定します。second_rank_typeをcava_scriptに設定します。
クエリパラメーターの例:
| パラメーター | 値 | 説明 |
|---|---|---|
second_rank_name | script1 | 公開されたソートスクリプトの名前 |
second_rank_type | cava_script | ランキングのソースが Cava スクリプトであることを指定します |
second_rank_name で指定されたソートスクリプトが存在しない場合でも、クエリは結果を返しますが、同時にエラーも返します。