このガイドでは、OpenSearch Vector Search Edition インスタンスの購入から最初のベクタークエリの実行まで、エンドツーエンドのセットアップについて説明します。
前提条件
開始する前に、以下を準備してください。
OpenSearch Vector Search Edition インスタンスを購入済みであること。詳細については、「OpenSearch Vector Search Edition インスタンスの購入」をご参照ください。
データソース (MaxCompute、API、または Object Storage Service (OSS)) を準備済みであること。
仕組み
購入後、インスタンスは構成保留中の状態になります。システムは、選択した Query Result Searcher (QRS) ワーカーと Searcher ワーカーの数と仕様に基づいて、空のインスタンスを自動的にデプロイします。インスタンスは、以下の手順を完了するまで検索クエリに対応できません。
テーブルの構成
データソースの追加
フィールドの構成
インデックススキーマの構成
作成の確認とインデックスの再作成のトリガー

インスタンスの構成
ステップ 1: 基本テーブル情報の構成
インスタンス詳細ページの左側のペインで、[テーブル管理]をクリックします。
[テーブルの追加] をクリックします。
作成ウィザードの[基本テーブル情報]ステップで、次のパラメーターを設定し、次に、[次へ]をクリックします。

| パラメーター | 説明 |
|---|---|
| テーブル名 | テーブルのカスタム名。 |
| データシャード | テーブル内のデータシャード数。インスタンス内に複数のインデックステーブルを作成する場合、すべてのテーブルは同じ Shard Count を持つ必要があります。または、少なくとも 1 つのテーブルが 1 つのシャードを持ち、その他すべてのテーブルが同じ Shard Count を共有する必要があります。 |
| データ更新用リソース数 | データ更新に使用されるリソース数。各インスタンスには、データソースごとに 2 つのリソースの無料クォータが含まれています。各リソースは 4 CPU コアと 8 GB のメモリを提供します。無料クォータを超えるリソースは課金されます。料金詳細については、「Alibaba Cloud International Website 向け Vector Search Edition の課金」をご参照ください。 |
| シナリオテンプレート | テーブルの作成に使用されるテンプレート。オプション:[共通テンプレート]、[ベクター: Image Search]、および [ベクター: テキストのセマンティック検索]。 |
ステップ 2: データソースの追加
データ同期ステップで、データソースを追加します。OpenSearch は MaxCompute、API、および OSS データソースをサポートします。
以下の例では、MaxCompute + API をフルデータソースとして使用します。
[プロジェクト]、[AccessKey]、[AccessKey シークレット]、[テーブル]、および[パーティションキー]のパラメーターを設定します。
[自動再インデックス作成] を [Yes] または [No] に設定します。
[チェック]をクリックします。チェックが成功した場合は、[次へ]をクリックします。

データソースタイプごとの詳細な設定手順は以下のとおりです。
MaxCompute:MaxCompute データソースのテーブル作成
ステップ 3: フィールドの構成
OpenSearch は、選択したシナリオテンプレートに基づいてプリセットフィールドを自動的に提供し、データソースからすべてのフィールドをインポートします。
フィールド構成ステップで、少なくとも 2 つの必須フィールド (プライマリキーフィールドとベクトルフィールド) を構成します。


フィールド要件:
主キー フィールド: [タイプ] を INT または STRING に設定し、[主キー] 列のオプションを選択します。
ベクトルフィールド: [タイプ] を [FLOAT] に設定し、[ベクトルフィールド] 列のチェックボックスをオンにします。ベクトルフィールドはデフォルトで多値フィールドであり、値は HA3 デリミタ (
^]、UTF フォーマットでは\x1Dとしてエンコード) で区切られます。カスタムデリミタがサポートされています。カテゴリフィールド (オプション):プライマリキーフィールドとベクトルフィールドの間にカテゴリフィールドを追加して、カテゴリ別に整理されたベクトルインデックスを構築します。
ベクトルインデックスを構成する場合、プライマリキーフィールド → 名前空間フィールド (オプション) → ベクトルフィールドの順序でフィールドを指定します。
名前空間フィールドのタイプはエンジンバージョンによって制約されます。vector_service_1.0.2 以前のエンジンバージョンでは、名前空間フィールドは STRING タイプにできません。それ以降のバージョンでは、タイプ制限は適用されません。ステップ 4: インデックススキーマの構成
OpenSearch は、プライマリキーフィールドとベクトルフィールドのインデックスを自動的に作成し、フィールド名をインデックス名として使用します。
インデックススキーマステップで、ベクトルインデックスを構成します。

[含まれるフィールド] パラメーターは、3 つの固定フィールドのみをサポートしており、拡張することはできません。
ベクターインデックスの[詳細設定]を別途設定します。詳細については、「ベクターインデックスの共通の構成」をご参照ください。
特別な要件がない場合は、[次へ] をクリックして、自動設定のデフォルトで続行します。
ステップ 5: 作成の確認
確認ステップでは、構成を確認し、[確認]をクリックします。


ステップ 6: 変更履歴で進行状況を確認
左側のペインで、[変更履歴] をクリックします。[データソースの変更] タブでは、テーブル作成、インデックス作成、および完全なデータのインデックス再作成に関連付けられたすべての有限状態機械 (FSM) をトラックできます。
すべての FSM が完了状態に達すると、検索エンジンは準備完了となり、クエリテストを実行できます。
ステップ 7: クエリテストの実行
インスタンスをテストするには、ベクタークエリを送信します。本番環境では、ベクターは通常、テキストまたは画像入力から埋め込みモデルによって生成されます。以下のサンプルでは、事前計算された 128 ディメンション浮動ベクターを使用します。
以下のサンプルクエリを使用します。
{
"vector": [0.0019676427,0.005902928,0.021644069,0.21644068,0.12199384,0.043288138,0.007870571,0.0,0.08460863,0.041320495,0.043288138,0.035417568,0.011805856,0.055093993,0.12592913,0.017708784,0.021644069,0.0019676427,0.0,0.0,0.0019676427,0.078705706,0.1987319,0.041320495,0.039352853,0.0039352854,0.007870571,0.0039352854,0.0039352854,0.017708784,0.035417568,0.06886749,0.0019676427,0.0019676427,0.013773498,0.049191065,0.2125054,0.22824654,0.123961486,0.0039352854,0.0,0.0,0.021644069,0.14560555,0.078705706,0.1987319,0.22824654,0.005902928,0.064932205,0.0019676427,0.0019676427,0.021644069,0.027546996,0.035417568,0.22824654,0.22824654,0.1337997,0.023611711,0.009838213,0.007870571,0.0039352854,0.0039352854,0.017708784,0.20069954,0.033449925,0.005902928,0.019676426,0.035417568,0.015741142,0.029514639,0.13183205,0.123961486,0.029514639,0.0,0.027546996,0.22824654,0.15741141,0.0,0.0039352854,0.043288138,0.18889369,0.072802775,0.055093993,0.17315255,0.08460863,0.0019676427,0.007870571,0.035417568,0.22824654,0.10034977,0.009838213,0.021644069,0.062964566,0.027546996,0.015741142,0.04525578,0.086576276,0.033449925,0.023611711,0.017708784,0.0,0.0,0.03738521,0.072802775,0.16724962,0.035417568,0.031482283,0.20463483,0.043288138,0.011805856,0.0039352854,0.051158708,0.023611711,0.11412327,0.13183205,0.16134669,0.049191065,0.023611711,0.0039352854,0.0039352854,0.049191065,0.035417568,0.015741142,0.0039352854,0.03738521,0.08264099,0.094446845,0.021644069],
"topK": 10,
"includeVector": true
}| フィールド | 説明 |
|---|---|
vector | クエリベクター。 |
topK | 返される上位結果の数。 |
includeVector | 結果にベクトルデータを含めるかどうか。 |

クエリ構文の詳細については、以下の「クエリ構文リファレンス」セクションをご参照ください。