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