Las consultas vectoriales funcionan buscando una base de datos de vectores para encontrar los vectores que coinciden mejor con tu vector de consulta. En esta página, se proporcionan detalles sobre cómo funciona esto.
Cómo encontrar vectores similares
Las consultas de búsqueda de vectores usan dos estrategias:
- K-Nearest Neighbors (KNN): Encuentra los k vectores más cercanos a tu vector de consulta.
Desglose de la sintaxis de las consultas
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
: Es el nombre del índice que contiene tu campo vectorial.(*)
: Esta es la única expresión admitida. No se admite el filtrado.=>
: Separa el filtro de la búsqueda de vectores.[KNN num_neighbours @field $vector]
: Es la expresión de búsqueda de KNN. Reemplazanum_neighbors
por la cantidad de resultados elegida y@field
por el nombre de tu campo vectorial.PARAMS 2 my_vector_query_param "query_embedding"
:- El valor
2
después dePARAMS
indica que se deben proporcionar dos argumentos adicionales. my_vector_query_param
es el nombre del vector del parámetro de consulta, como se especifica en la expresión de búsqueda de KNN.- Reemplaza
query_embedding
por tu vector de consulta incorporado.
- El valor
DIALECT 2
: Especifica que usas la versión 2 o posterior del dialecto de consulta (obligatorio para la búsqueda vectorial).