再インデックス作成が完了すると、OpenSearch Vector Search Edition コンソールの [クエリテスト] ページでクエリテストを実行できます。 [クエリテスト] ページでは、ベクトルベースのクエリ、プライマリキーベースのクエリ、ベクトルとテキストによるハイブリッドクエリを実行できます。 このトピックでは、ベクトルとテキストによるハイブリッドクエリ の実行方法について説明します。
操作手順
お使いの OpenSearch インスタンスの詳細ページで、左側メニューにある [クエリテスト] をクリックします。 [ベクトルとテキストによるハイブリッドクエリ] タブで、[テーブル名] ドロップダウンリストからクエリ対象のテーブルを選択します。 右上隅のドロップダウンリストから [フォームモード] または [デベロッパーモード] を選択できます。 デフォルトでは [フォームモード] が選択されています。
[ベクトルとテキストによるハイブリッドクエリ] タブを選択します。 フォームモードでは、次のパラメーターを使用できます。
[テーブル名]:使用中のテーブルを選択します。
[TopK]:デフォルト値は 10 です。
[フィルター条件]
[インデックス名]
[名前空間]
[結果のソート順]:有効な値: DESC または ASC。
[密ベクトル]:形式は
[0.1,0.2,0.3]です。
フォームモード
クエリパラメーターは次のとおりです。
[テーブル名]:必須。 クエリ対象のテーブル。 [テーブル名] ドロップダウンリストから使用中のテーブルを選択します。
[TopK]:必須。 返されるクエリ結果の最大数。 デフォルト値: 10。
[フィルター条件]:オプション。 データクエリ用のフィルター条件。 サポートされている演算子は
>、<、=、<=、>=、!=です。AND、OR、()を使用して、複数の条件を組み合わせることができます。 詳細については、「フィルター式」をご参照ください。[インデックス名]:必須。 インデックス名。 このパラメーターはテーブルを選択するまで選択できません。 テーブルを選択すると、インデックス名が自動的に入力されます。 インデックス名を手動で選択する必要はありません。
[名前空間]:オプション。 ベクトルインデックスのパーティションを指定してデータをクエリする場合に使用する名前空間です。 インスタンスに名前空間を指定しない場合は、このパラメーターを空のままにしてください。
[結果のソート順]:必須。 クエリ結果をソートする順序。 有効な値: ASC および DESC。 ASC は昇順、 DESC は降順を意味します。 デフォルト値:
DESC。[密ベクトル]:必須。 クエリ対象の密ベクトル。 値は
list[float]形式である必要があります。[疎ベクトルのインデックス]:必須。 昇順にソートされた疎ベクトルのインデックスです。 値は
list[int]形式である必要があります。[疎ベクトルの値]:必須。 それぞれのインデックスに対応する疎ベクトルの値です。 値は
list[float]形式である必要があります。
クエリする密ベクトルと疎ベクトルの値を入力し、 [検索] をクリックします。
デベロッパーモード
クエリパラメーターとクエリ結果は、元のステートメントの形式で表示されます。 すべてのクエリ機能がサポートされています。
{
"tableName": "dense_sparse_tb",
"indexName": "vector",
"vector": [
0.1,
0.2,
0.3,
0.4,
0.5
],
"sparseData": {
"indices": [
0,
2
],
"values": [
1.2,
2.4
]
},
"topK": 2,
"order": "DESC"
}tableName:クエリ対象のテーブル。
indexName:インデックス名。 この例では、 vector という名前のインデックスを使用します。
vector:密ベクトル。
sparseData:疎ベクトル。
indices:疎ベクトルのインデックス。
values:疎ベクトルの値。
topK:返されるクエリ結果の最大数。
order:クエリ結果をソートする順序。 有効な値: ASC および DESC。 ASC は昇順、 DESC は降順を意味します。
詳細については、「疎ベクトルベースのクエリ」をご参照ください。