SqlServerQueryableExtensions.VectorSearch<T,TVector> Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Busque vectores similares a un vector de consulta determinado mediante la función SQL ServerVECTOR_SEARCH().
[System.Diagnostics.CodeAnalysis.Experimental("EF9105")]
public static System.Linq.IQueryable<Microsoft.EntityFrameworkCore.VectorSearchResult<T>> VectorSearch<T,TVector>(this Microsoft.EntityFrameworkCore.DbSet<T> source, System.Linq.Expressions.Expression<Func<T,TVector>> vectorPropertySelector, TVector similarTo, string metric) where T : class where TVector : struct;
[<System.Diagnostics.CodeAnalysis.Experimental("EF9105")>]
static member VectorSearch : Microsoft.EntityFrameworkCore.DbSet<'T (requires 'T : null)> * System.Linq.Expressions.Expression<Func<'T, 'Vector>> * 'Vector * string -> System.Linq.IQueryable<Microsoft.EntityFrameworkCore.VectorSearchResult<'T>> (requires 'T : null and 'Vector : struct)
<Extension()>
Public Function VectorSearch(Of T As Class, TVector As Class) (source As DbSet(Of T), vectorPropertySelector As Expression(Of Func(Of T, TVector)), similarTo As TVector, metric As String) As IQueryable(Of VectorSearchResult(Of T))
Parámetros de tipo
- T
- TVector
Parámetros
- source
- DbSet<T>
DbSet<TEntity> que representa la tabla que contiene la columna vectorial que se va a consultar.
- vectorPropertySelector
- Expression<Func<T,TVector>>
Selector de la propiedad vectorial de la entidad.
- similarTo
- TVector
Vector usado para la búsqueda, ya sea un parámetro u otra columna vectorial.
- metric
- String
Métrica de distancia utilizada para calcular la distancia entre el vector de consulta y los vectores de la columna especificada. Solo se usa un índice ANN (vecino más cercano aproximado) si se encuentra un índice ANN coincidente, con la misma métrica y en la misma columna. Si no hay índices ANN compatibles, se genera una advertencia y se usa el algoritmo KNN (vecino más cercano).
Devoluciones
- Atributos
Comentarios
Use WithApproximate<T>(IQueryable<T>) después Take(...) de para habilitar la búsqueda cercana más cercana (ANN), que usa el índice vectorial para mejorar el rendimiento. Sin WithApproximate, se realiza una búsqueda exacta de k-vecino más cercano (kNN). Agregue un explícito OrderBy para controlar la ordenación de resultados.