@@ -3484,6 +3484,56 @@ public static IOrderedMongoQueryable<TSource> ThenByDescending<TSource, TKey>(th
34843484 return ( IOrderedMongoQueryable < TSource > ) Queryable . ThenByDescending ( source , keySelector ) ;
34853485 }
34863486
3487+ /// <summary>
3488+ /// Appends a $vectorSearch stage to the LINQ pipeline.
3489+ /// </summary>
3490+ /// <typeparam name="TSource">The type of the elements of <paramref name="source" />.</typeparam>
3491+ /// <typeparam name="TField">The type of the field.</typeparam>
3492+ /// <param name="source">A sequence of values.</param>
3493+ /// <param name="field">The field.</param>
3494+ /// <param name="queryVector">The query vector.</param>
3495+ /// <param name="limit">The limit.</param>
3496+ /// <param name="options">The options.</param>
3497+ /// <returns>
3498+ /// The queryable with a new stage appended.
3499+ /// </returns>
3500+ public static IMongoQueryable < TSource > VectorSearch < TSource , TField > (
3501+ this IMongoQueryable < TSource > source ,
3502+ FieldDefinition < TSource > field ,
3503+ QueryVector queryVector ,
3504+ int limit ,
3505+ VectorSearchOptions < TSource > options = null )
3506+ {
3507+ return AppendStage (
3508+ source ,
3509+ PipelineStageDefinitionBuilder . VectorSearch ( field , queryVector , limit , options ) ) ;
3510+ }
3511+
3512+ /// <summary>
3513+ /// Appends a $vectorSearch stage to the LINQ pipeline.
3514+ /// </summary>
3515+ /// <typeparam name="TSource">The type of the elements of <paramref name="source" />.</typeparam>
3516+ /// <typeparam name="TField">The type of the field.</typeparam>
3517+ /// <param name="source">A sequence of values.</param>
3518+ /// <param name="field">The field.</param>
3519+ /// <param name="queryVector">The query vector.</param>
3520+ /// <param name="limit">The limit.</param>
3521+ /// <param name="options">The options.</param>
3522+ /// <returns>
3523+ /// The queryable with a new stage appended.
3524+ /// </returns>
3525+ public static IMongoQueryable < TSource > VectorSearch < TSource , TField > (
3526+ this IMongoQueryable < TSource > source ,
3527+ Expression < Func < TSource , TField > > field ,
3528+ QueryVector queryVector ,
3529+ int limit ,
3530+ VectorSearchOptions < TSource > options = null )
3531+ {
3532+ return AppendStage (
3533+ source ,
3534+ PipelineStageDefinitionBuilder . VectorSearch ( field , queryVector , limit , options ) ) ;
3535+ }
3536+
34873537 /// <summary>
34883538 /// Filters a sequence of values based on a predicate.
34893539 /// </summary>
0 commit comments