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.

Rechercher des vecteurs similaires

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

  • K-Nearest Neighbors (KNN): trouve les k vecteurs les plus proches de votre vecteur de 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.

  • (*): 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 la version 2 ou ultérieure du dialecte de requête (obligatoire pour la recherche vectorielle).