SqlServerQueryableExtensions.VectorSearch<T,TVector> 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用 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-near 邻居 (kNN) 搜索。 添加显式 OrderBy 控件结果排序。