Sintaxis de las consultas

Las consultas vectoriales operan mediante la búsqueda de una base de datos de vectores para encontrar los que mejor coincidan con tu vector de consulta. En esta página, se proporcionan detalles sobre cómo funciona esto.

Encontrar vectores similares

Las consultas de búsqueda vectorial usan dos estrategias:

  • K-vecinos más cercanos (KNN): encuentra los vectores k más cercanos a tu vector de consulta.

Desglose de la sintaxis de consulta

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 de vectores.

  • (*): Esta es la única expresión admitida. No se admite el filtrado.

  • =>: Separa el filtro de la búsqueda vectorial.

  • [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 del 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 KNN.
    • Reemplaza query_embedding por tu vector de consulta incorporado.
  • DIALECT 2: Especifica que estás usando la versión 2 o una posterior del dialecto de consulta (obligatorio para la búsqueda vectorial).