Język

SqlServerQueryableExtensions.VectorSearch<T,TVector> Metoda

Definicja

Wyszukaj wektory podobne do danego wektora zapytania przy użyciu funkcji 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))

Parametry typu

T
TVector

Parametry

source
DbSet<T>

Reprezentująca DbSet<TEntity> tabelę zawierającą kolumnę wektora do wykonywania zapytania.

vectorPropertySelector
Expression<Func<T,TVector>>

Selektor właściwości wektora w jednostce.

similarTo
TVector

Wektor używany do wyszukiwania — parametr lub inną kolumnę wektora.

metric
String

Metryka odległości używana do obliczania odległości między wektorem zapytania a wektorami w określonej kolumnie. Indeks ANN (Przybliżony najbliższy sąsiad) jest używany tylko wtedy, gdy zostanie znaleziony pasujący indeks ANN z tą samą metryką i w tej samej kolumnie. Jeśli nie ma żadnych zgodnych indeksów ANN, zostanie zgłoszone ostrzeżenie i zostanie użyty algorytm KNN (k najbliższego sąsiada).

Zwraca

Atrybuty

Uwagi

Użyj WithApproximate<T>(IQueryable<T>) polecenia after Take(...) , aby włączyć przybliżone wyszukiwanie najbliższego sąsiada (ANN), które używa indeksu wektorowego w celu uzyskania lepszej wydajności. Bez WithApproximatejest wykonywane wyszukiwanie dokładnego k najbliższego sąsiada (kNN). Dodaj jawny OrderBy element w celu kontrolowania kolejności wyników.

Dotyczy