Dil

SqlServerQueryableExtensions.VectorSearch<T,TVector> Yöntem

Tanım

SQL Server VECTOR_SEARCH() işlevini kullanarak belirli bir sorgu vektörine benzer vektörler arayın.

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

Tür Parametreleri

T
TVector

Parametreler

source
DbSet<T>

Sorgulanması DbSet<TEntity> gereken vektör sütununu içeren tabloyu temsil eden.

vectorPropertySelector
Expression<Func<T,TVector>>

Varlık üzerindeki vektör özelliği için bir seçici.

similarTo
TVector

Bir parametre veya başka bir vektör sütunu olan arama için kullanılan vektör.

metric
String

Sorgu vektörünü ve belirtilen sütundaki vektörleri arasındaki uzaklığı hesaplamak için kullanılan uzaklık ölçümü. ANN (Yaklaşık En Yakın Komşu) dizini yalnızca aynı ölçüme ve aynı sütuna sahip eşleşen bir ANN dizini bulunduğunda kullanılır. Uyumlu ANN dizini yoksa bir uyarı oluşturulur ve KNN (k-En Yakın Komşu) algoritması kullanılır.

Döndürülenler

Özellikler

Açıklamalar

Daha iyi performans için vektör dizinini kullanan yaklaşık en yakın komşu (ANN) aramasını etkinleştirmek için sonra Take(...) kullanınWithApproximate<T>(IQueryable<T>). olmadan WithApproximate, tam olarak en yakın k komşu (kNN) araması gerçekleştirilir. Sonuç sıralamasını denetlemek için bir açık OrderBy ekleyin.

Şunlara uygulanır