Función vector_search

Se aplica a casilla marcada como sí Databricks SQL

Importante

Esta funcionalidad está en versión preliminar pública. Enviar el formulario de inscripción para participar en la versión preliminar.

La función vector_search() permite consultar un índice de vector de búsqueda de IA de mosaico mediante SQL.

Requisitos

Sintaxis

vector_search(index, query, num_results)

Argumentos

Todos los argumentos deben pasarse por nombre, como vector_search(index => indexName, query => queryText).

  • index: una STRING constante, el nombre completo de un índice de vector de búsqueda existente en la misma área de trabajo para las invocaciones. El definidor debe tener el permiso "Seleccionar" en el índice.
  • query: una STRING expresión, la cadena que se va a buscar en el índice.
  • num_results (opcional): una constante entera, el número máximo de registros que se van a devolver. El valor predeterminado es 10.

Devoluciones

Tabla de los registros coincidentes principales del índice. Se incluyen todas las columnas del índice.

Ejemplos

Busque en un índice de SKU de producto para buscar productos similares por nombre.


SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query => "iphone", num_results => 2)
ID Nombre de producto
10 iPhone
20 iPhone SE

En el ejemplo siguiente se buscan varios términos al mismo tiempo mediante una subconsulta LATERAL.


SELECT
  query_txt,
  query_id,
  search.*
FROM
  query_table,
  LATERAL(
SELECT * FROM VECTOR_SEARCH(index => "main.db.my_index", query => query_txt, num_results => 2)
  ) as search
query_txt query_id search.id search.product_name
iphone 1 10 iPhone 10
iphone 1 20 iPhone SE
píxel 8 2 30 Píxel 8
píxel 8 2 40 Píxel 8a

Limitaciones

Se aplican las siguientes limitaciones durante la versión preliminar:

  • No se admiten consultas DIRECT_ACCESS tipos de índice.
  • No se admiten índices con embedding_vector_columns.
  • No se admiten parámetros de entrada filters_json o columns.
  • No se admite la vector de búsqueda con num_results mayor que 100.
  • Los usuarios que no tienen acceso LECTURA a la tabla de origen no pueden usar vector_search().