エンジンがインデックスを再構築した後、検索を開始できます。Vector Search Edition は、クエリをテストできるように、コンソールにクエリテスト機能を提供しています。サポートされているクエリタイプは、ベクトルクエリ、プライマリキークエリ、ベクトルとテキストのハイブリッドクエリの 3 種類です。このトピックでは、ベクトルクエリについて説明します。
エントリポイント
[クエリテスト] > [ベクトルクエリ] を選択します。クエリするテーブルの名前を選択します。フォームモード または 開発者モード を使用できます。右上隅のドロップダウンリストで、モードを切り替えることができます。デフォルトでは フォームモード が選択されています。

フォームモード
フォームでクエリパラメータを編集できます。結果は下のリストに表示されます。このモードでは、すべてのクエリ機能がサポートされているわけではありません。

クエリパラメータ:
テーブル名:必須。クエリを実行するテーブルです。ドロップダウンリストから、使用中のテーブルを選択します。
インデックス名:必須。テーブルを選択すると、インデックス名は自動的に入力されます。選択する必要はありません。
トップ K:必須。返される検索結果の最大数です。デフォルト値は 10 です。0 より大きい整数を入力します。
フィルター条件:任意。サポートされている演算子は
>, <, =, <=, >=, !=です。複数の条件はAND, OR, ()で連結できます。詳細については、「Filter expression syntax」をご参照ください。クエリタイプ:必須。ベクトル、画像、テキストなど、クエリのデータ型です。
名前空間:任意。ベクトルインデックスに対してパーティション分割クエリを実行する際に使用する名前空間です。
結果の順序:必須。ASC (昇順) または DESC (降順) を選択します。デフォルト値は ASC です。テーブルが内積距離を使用している場合は、スコアが高いほど関連性が高いため、DESC を選択します。テーブルがユークリッド距離を使用している場合は、スコアが低いほど関連性が高いため、ASC を選択します。
クエリ内容:クエリタイプがベクトルの場合は、配列形式でベクトル値を入力します。クエリタイプが画像の場合は、ローカル画像をアップロードするか、Base64 でエンコードされた文字列を指定します。クエリタイプがテキストの場合は、テキスト内容を入力します。
クエリタイプ:ベクトル
テーブル名を選択すると、インデックス名が自動的に表示されます。選択する必要はありません。クエリタイプをベクトルに設定します。下の入力ボックスに、ベクトル次元の入力を促すメッセージが表示されます。

ベクトル次元のデータを入力し、[検索] をクリックします。検索結果は下のリストに表示されます。次の図のようになります。

クエリタイプ:画像
テーブル名を選択すると、インデックス名が自動的に表示されます。選択する必要はありません。クエリタイプを画像に設定します。このオプションは、OpenSearch の組み込み埋め込み機能を使用するテーブルでのみ利用できます。画像タイプのオプションが表示されます。画像をアップロードするか、Base64 エンコーディングを使用できます。デフォルトでは Base64 エンコーディングが選択されています。次の図のようになります。

画像のアップロード

[画像をアップロード] をクリックしてローカル画像を選択します。複数被写体認識モードを有効にできます。[検索] をクリックします。結果は次のように表示されます。

複数被写体認識結果:
検出されたすべての被写体が枠で囲まれ、番号が付与されます。
デフォルトでは、ピクセル面積が最大の被写体の検索結果が表示されます。被写体の領域が画像内でハイライト表示されます。
被写体の番号をクリックして検索対象を切り替えることができます。検索結果と、画像内のハイライト領域がそれに応じて変化します。
画像アップロードのルール:
サポートされている画像形式は png、jpg、jpeg です。
画像サイズは 2 MB を超えることはできません。
Base64 エンコーディングの使用

Base64 エンコーディングを選択します。Base64 でエンコードされた値を入力し、[検索] をクリックします。結果は次のように表示されます。

クエリタイプ:テキスト
テーブル名を選択すると、インデックス名が自動的に表示されます。選択する必要はありません。クエリタイプをテキストに設定します。下の入力ボックスに、テキスト内容の入力を促すメッセージが表示されます。テキスト検索は、埋め込み機能が有効になっているテーブルでのみ利用できます。

テキスト内容を入力し、[検索] をクリックします。検索結果は下のリストに表示されます。次の図のようになります。

開発者モード
クエリと結果の両方に元のステートメントが表示され、また、すべてのクエリ機能がサポートされます。

検索ボックスにクエリパラメータを入力し、[検索] をクリックします。検索結果は右側のペインに表示されます。次の図のようになります。

次に、単一ベクトルクエリの例を示します。
{
"vector": [0.345263,0.346272,0.33663.....],
"topK": 10,
"indexName": "",
"includeVector": true,
"namespace":"test1"
}vector:形式はlist[float]です。ベクトル値を入力します。次元数は、エンジンに設定されている次元数と一致させる必要があります。topK:返す結果の数です。必要に応じて設定します。デフォルト値は 10 です。indexName:任意。ベクトルインデックスの名前です。includeVector:ドキュメントにベクトル情報を含めて返すかどうかを指定します。デフォルト値はtrueです。namespace:インスタンスにカテゴリが設定されている場合は必須です。それ以外の場合は任意です。
次に、複数のベクトルと複数の名前空間を指定するクエリの例を示します。
{
"tableName": "gist",
"indexName": "vec_index",
"queries": [
{
"vector": [0.1, 0.2, 0.3],
"namespace": "space_a"
},
{
"vector": [0.4, 0.5, 0.6],
"namespace": "space_b"
}
],
"topK": 3,
"includeVector": true
}詳細については、「ベクトルクエリ」をご参照ください。
注意事項
フォームモードのクエリには、次の制限があります。
複数の名前空間にまたがるクエリはサポートされません。
複数のベクトルインデックスに対する同時クエリはサポートされません。
複数ベクトルを指定したクエリはサポートされません。
デフォルトでは、ドキュメント内のベクトル情報が返されます。
デフォルトでは、対応するドキュメントのソーステーブルの列とその値がすべて返され、この動作は変更できません。
デフォルトでは、結果はフィルタリングされます。