SqlServerQueryableExtensions.VectorSearch<T,TVector> Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í.