Jazyk

SqlServerQueryableExtensions.VectorSearch<T,TVector> Metoda

Definice

Pomocí funkce SQL Server VECTOR_SEARCH() vyhledejte vektory podobné danému vektoru dotazu.

[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))

Parametry typu

T
TVector

Parametry

source
DbSet<T>

Představuje DbSet<TEntity> tabulku obsahující vektorový sloupec, který se má dotazovat.

vectorPropertySelector
Expression<Func<T,TVector>>

Selektor pro vlastnost vektoru entity.

similarTo
TVector

Vektor použitý pro vyhledávání, buď parametr, nebo jiný vektorový sloupec.

metric
String

Metrika vzdálenosti použitá k výpočtu vzdálenosti mezi vektorem dotazu a vektory v zadaném sloupci. Index ANN (Přibližný nejbližší soused) se používá pouze v případě, že se najde odpovídající index ANN se stejnou metrikou a ve stejném sloupci. Pokud nejsou k dispozici žádné kompatibilní indexy ANN, vyvolá se upozornění a použije se algoritmus KNN (k-Nearest Neighbor).

Návraty

Atributy

Poznámky

Použijte WithApproximate<T>(IQueryable<T>) ho Take(...) k povolení přibližného hledání nejbližšího souseda (ANN), které k lepšímu výkonu používá index vektoru. Bez WithApproximate, provede se přesné hledání k-nejbližšího souseda (kNN). Přidejte explicitní OrderBy řazení výsledků řízení.

Platí pro