すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:ベクトルとテキストによるハイブリッドクエリ

最終更新日:Dec 28, 2024

再インデックスが完了したら、OpenSearch Vector Search Editionコンソールのクエリテストページに移動して、クエリテストを実行できます。クエリテストページでは、ベクトルベースのクエリ、プライマリキーベースのクエリ、およびベクトルとテキストによるハイブリッドクエリの3種類のクエリを実行できます。このトピックでは、ベクトルとテキストによるハイブリッドクエリを実行する方法について説明します。

手順

OpenSearchインスタンスの詳細ページで、左側のナビゲーションペインの[クエリテスト]をクリックします。[ベクトルとテキストによるハイブリッドクエリ]タブで、[テーブル名]ドロップダウンリストからクエリするデータのテーブルを選択します。右上隅のドロップダウンリストからフォームモードまたは開発者モードを選択できます。デフォルトでは、フォームモードが選択されています。

image

フォームモード

image

次のセクションでは、クエリパラメータについて説明します。

  1. テーブル名:必須。クエリするデータのテーブル。[テーブル名]ドロップダウンリストから[使用中]状態のテーブルを選択します。

  2. TopK:必須。返されるクエリ結果の最大数。デフォルト値:10。

  3. フィルター条件:オプション。データをクエリするためのフィルター条件。サポートされている演算子は、>、<、=、<=、>=、および!=です。AND、OR、および()を使用して複数の条件を接続できます。詳細については、フィルター式を参照してください。

  4. インデックス名:必須。インデックス名。このパラメータは、テーブルを選択する前は淡色表示されています。テーブルを選択すると、インデックス名が自動的に指定されます。インデックス名を手動で選択する必要はありません。

  5. 名前空間:オプション。ベクトルインデックスのパーティションごとにデータをクエリするために使用される名前空間。インスタンスに名前空間を指定しない場合は、このパラメータを空のままにします。

  6. 結果の並べ替え順序:必須。クエリ結果の並べ替え順序。有効な値:ASCおよびDESC。ASCの値は、クエリ結果が昇順で並べ替えられることを指定します。DESCの値は、クエリ結果が降順で並べ替えられることを指定します。デフォルト値:DSEC

  7. 密ベクトル:必須。クエリする密ベクトル。値はlist[float]形式である必要があります。

  8. 疎ベクトルの添え字:必須。昇順で並べ替えられた疎ベクトルのインデックス。値はlist[int]形式である必要があります。

  9. 疎ベクトルの値:必須。それぞれのインデックスに対応する疎ベクトルの値。値はlist[float]形式である必要があります。

クエリする密ベクトルと疎ベクトルの値を入力し、検索をクリックします。

開発者モード

クエリパラメータとクエリ結果は、元のステートメントの形式で表示されます。すべてのクエリ機能がサポートされています。

image

{
    "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の値は、クエリ結果が降順で並べ替えられることを指定します。

詳細については、ハイブリッドクエリを参照してください。