ソートスクリプトのライフサイクル
OpenSearch におけるソートスクリプトのライフサイクルについて以下に説明します。
ソートスクリプトを作成します。このプロセスでは、アプリケーションの名前とバージョン ID、およびソートスクリプトの名前を指定する必要があります。識別を容易にするために、ソートスクリプトの名前は OpenSearch コンソールで作成された式の名前と区別することをお勧めします。
スクリプトコードをアップロードします。ソートスクリプトは、OpenSearch が提供するプログラミング言語である Cava を使用して記述されます。未公開のソートスクリプトのスクリプトコードは繰り返しアップロードできます。
ソートスクリプトをコンパイルします。スクリプトコードをアップロードした後、コンパイルコマンドを実行して構文を確認できます。未公開のソートスクリプトは繰り返しコンパイルできます。
ソートスクリプトを公開します。ソートスクリプトのコンパイル後、オンラインアプリケーションにソートスクリプトを適用する場合は、ソートスクリプトを公開できます。ソートスクリプトが公開されると、スクリプトコードのアップロードやソートスクリプトの再コンパイルはできなくなります。ソートスクリプトを削除することのみ可能です。
ソートスクリプトを削除します。不要になったソートスクリプトは削除できます。ソートスクリプトを削除する前に、クエリでソートスクリプトが使用されていないことを確認してください。使用されている場合は、クエリエラーが返されます。
ソートスクリプトを表示します。上記のいずれのプロセスにおいても、ソートスクリプトのステータスをいつでも表示できます。
SortScript
SortScript は、バージョン 2.7 以降の Python ベースのコマンドラインツールです。このツールを使用すると、ソートスクリプトを簡単に作成、維持、公開、および削除できます。SortScript はダウンロードできます。SortScript を使用する前に、tools_conf.py ファイルで AccessKey ID と AccessKey シークレットを設定する必要があります。
SortScript を使用してソートスクリプトを作成する例を以下に示します。
1. ソートスクリプトを作成します。
python ./sortscript create --appName script_test --appVersionId 12345678 --scriptName script1
2. BasicSimilarityScorer.cava ファイルと IntelligenceAlgorithm.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
3. ソートスクリプトをコンパイルします。ソートスクリプトをコンパイルすると、特定の構文エラーが返される場合があります。プロンプトに基づいてソートスクリプトを変更します。
python ./sortscript compile --appName script_test --appVersionId 12345678 --scriptName script1
4. ソートスクリプトを公開します。これ以上変更する必要がないことを確認したら、ソートスクリプトを公開します。
python ./sortscript release --appName script_test --appVersionId 12345678 --scriptName script1
5. ソートスクリプトを表示します。scriptName パラメーターを設定して特定のソートスクリプトを表示できます。設定しない場合は、現在のアプリケーションバージョン内のすべてのソートスクリプトが一覧表示されます。
python ./sortscript list --appName script_test --appVersionId 12345678 --scriptName script1
python ./sortscript list --appName script_test --appVersionId 12345678
6. コードファイルの詳細を表示します。
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
7. コードファイルを削除します。
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
8. ソートスクリプトを削除します。ソートスクリプトを削除する前に、クエリでソートスクリプトが使用されていないことを確認してください。
python ./sortscript delete --appName script_test --appVersionId 12345678 --scriptName script1
クエリでソートスクリプトを使用して結果をソートする
ソートスクリプトが公開されていることを確認します。
クエリの second_rank_name パラメーターをソートスクリプトの名前に設定します。識別を容易にするために、ソートスクリプトの名前は OpenSearch コンソールで作成された式の名前と区別することをお勧めします。
クエリの second_rank_type パラメーターを cava_script に設定します。
クエリ結果を表示します。ソートスクリプトが存在しない場合、クエリ結果は返されますが、エラーも返されます。