Sintaxis de las consultas

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. Reemplaza num_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 de PARAMS 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.
  • DIALECT 2: Especifica que usas la versión 2 o posterior del dialecto de consulta (obligatorio para la búsqueda vectorial).