次の方法で共有


vector_search 関数

適用対象: Databricks SQL

重要

この機能はパブリック プレビュー段階にあります。

vector_search() 関数を使用すると、SQL を使用して Mosaic AI ベクトル検索インデックスでクエリを実行できます。

要件

構文

vector_search(index, query, num_results)

引数

vector_search(index => indexName, query => queryText) のように、すべての引数を名前で渡す必要があります。

  • index: STRING 定数。呼び出し用の同じワークスペース内の既存のベクトル検索インデックスの完全修飾名。 定義者には、インデックスに対する “Select” の権限が必要です。
  • query: STRING 式。インデックス内で検索する文字列。
  • num_results (オプション): 整数定数、返すレコードの最大数。 既定値は 10 です。

返品

インデックスから一致する上位のレコードのテーブル。 インデックスのすべての列が含まれます。

製品 SKU のインデックスを検索して、類似する製品を名前で検索します。


SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query => "iphone", num_results => 2)
ID 製品名
10 iPhone
20 iPhone SE

次の例では、LATERAL サブクエリを使用して複数の用語を同時に検索します。


SELECT
  query_txt,
  query_id,
  search.*
FROM
  query_table,
  LATERAL(
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query => query_txt, num_results => 2)
  ) as search
query_txt query_id search.id search.product_name
iphone 1 10 iPhone 10
iphone 1 20 iPhone SE
pixel 8 2 30 Pixel 8
pixel 8 2 40 Pixel 8a

制限事項

プレビュー期間中は、次の制限事項が適用されます:

  • DIRECT_ACCESS インデックスの種類に対するクエリはサポートされていません。
  • embedding_vector_columns を持つインデックスはサポートされていません。
  • 入力パラメーター filters_json または columns はサポートされていません。
  • num_results は 100 より大きいベクトル検索はサポートされていません。
  • ソース テーブルへの読み取りアクセスを持たないユーザーは、vector_search() を使用できません。
  • vector_search は、Foundation Model API のプロビジョニングされたスループットを使用してエンドポイントにサービスを提供するモデルでは使用できません。