Syntaxe des requêtes

Les requêtes vectorielles fonctionnent en recherchant dans une base de données vectorielle les vecteurs les plus proches de votre vecteur de requête. Cette page explique comment cela fonctionne.

Trouver des vecteurs similaires

Les requêtes de recherche vectorielle utilisent deux stratégies :

  • K-plus proches voisins (KNN): trouve les k vecteurs les plus proches du vecteur de votre requête.

Répartition de la syntaxe des requêtes

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 : nom de l'index contenant votre champ vectoriel.

  • (*): il s'agit de la seule expression acceptée. Le filtrage n'est pas compatible.

  • =>: sépare le filtre de la recherche vectorielle.

  • [KNN num_neighbours @field $vector] : expression de recherche KNN. Remplacez num_neighbors par le nombre de résultats choisi et @field par le nom de votre champ vectoriel.

  • PARAMS 2 my_vector_query_param "query_embedding" :

    • La valeur 2 après PARAMS indique que deux arguments supplémentaires doivent être fournis.
    • my_vector_query_param est le nom du vecteur du paramètre de requête, tel que spécifié dans l'expression de recherche KNN.
    • Remplacez query_embedding par votre vecteur de requête intégré.
  • DIALECT 2: indique que vous utilisez le dialecte de requête 2 ou version ultérieure (obligatoire pour la recherche vectorielle).