SqlServerQueryableExtensions.VectorSearch<T,TVector> Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Pesquise vetores semelhantes a um determinado vetor de consulta usando a função 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>
A DbSet<TEntity> tabela que representa a coluna de vetor a ser consultada.
- vectorPropertySelector
- Expression<Func<T,TVector>>
Um seletor para a propriedade de vetor na entidade.
- similarTo
- TVector
O vetor usado para pesquisa, um parâmetro ou outra coluna de vetor.
- metric
- String
A métrica de distância usada para calcular a distância entre o vetor de consulta e os vetores na coluna especificada. Um índice ANN (Vizinho Mais Próximo Aproximado) é usado somente se um índice ANN correspondente, com a mesma métrica e na mesma coluna, for encontrado. Se não houver índices ANN compatíveis, um aviso será gerado e o algoritmo KNN (k-Nearest Neighbor) será usado.
Retornos
- Atributos
Comentários
Use WithApproximate<T>(IQueryable<T>) depois Take(...) para habilitar a pesquisa aproximada do vizinho mais próximo (ANN), que usa o índice de vetor para melhorar o desempenho. Sem WithApproximate, uma pesquisa exata de k-nearest vizinho (kNN) é executada. Adicione um explícito OrderBy para controlar a ordenação de resultados.