クエリ構文

ベクトル クエリは、ベクトル データベースを検索して、クエリベクトルに最も一致するベクトルを見つけます。このページでは、この仕組みについて詳しく説明します。

類似ベクトルの検索

ベクトル検索クエリでは、次の 2 つの戦略が使用されます。

  • K 最近傍法(KNN): クエリベクトルに最も近い k 個のベクトルを検索します。

クエリ構文の内訳

FT.SEARCH index "(*)=>[KNN num_neighbours @my_vector_hash_key $my_vector_query_param]" PARAMS 2 my_vector_query_param "query_embedding" DIALECT 2
  • index: ベクトル フィールドを含むインデックスの名前。

  • (*): これがサポートされている唯一の式です。フィルタリングはサポートされていません。

  • =>: フィルタをベクトル検索から分離します。

  • [KNN num_neighbours @field $vector]: KNN 検索式。num_neighbors は選択した結果数に、@field はベクトル フィールドの名前に置き換えます。

  • PARAMS 2 my_vector_query_param "query_embedding":

    • PARAMS の後の値 2 は、2 つの追加引数を指定する必要があることを示します。
    • my_vector_query_param は、KNN 検索式で指定されたクエリ パラメータのベクトル名です。
    • query_embedding は、エンベディングされたクエリベクトルに置き換えます。
  • DIALECT 2: クエリ言語バージョン 2 以降を使用することを指定します(ベクトル検索に必要)。