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. Remplaceznum_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èsPARAMS
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é.
- La valeur
DIALECT 2
: indique que vous utilisez le dialecte de requête 2 ou version ultérieure (obligatoire pour la recherche vectorielle).