Language

SqlServerQueryableExtensions.VectorSearch<T,TVector> メソッド

定義

SQL Server VECTOR_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))

型パラメーター

T
TVector

パラメーター

source
DbSet<T>

クエリするベクター列を含むテーブルを表す DbSet<TEntity> 。

vectorPropertySelector
Expression<Func<T,TVector>>

エンティティのベクター プロパティのセレクター。

similarTo
TVector

パラメーターまたは別のベクター列の検索に使用されるベクター。

metric
String

クエリ ベクターと指定した列のベクトル間の距離を計算するために使用される距離メトリック。 ANN (近似最近隣) インデックスは、同じメトリックと同じ列に一致する ANN インデックスが見つかった場合にのみ使用されます。 互換性のある ANN インデックスがない場合は、警告が発生し、KNN (k-Nearest Neighbor) アルゴリズムが使用されます。

戻り値

属性

注釈

Take(...)の後にWithApproximate<T>(IQueryable<T>)を使用して近似最近隣 (ANN) 検索を有効にします。この検索では、パフォーマンスを向上させるためにベクター インデックスを使用します。 WithApproximateを使用しない場合は、正確な k ニアレスト ネイバー (kNN) 検索が実行されます。 明示的な OrderBy を追加して、結果の順序を制御します。

適用対象