@@ -3484,6 +3484,56 @@ public static IOrderedMongoQueryable<TSource> ThenByDescending<TSource, TKey>(th
3484
3484
return ( IOrderedMongoQueryable < TSource > ) Queryable . ThenByDescending ( source , keySelector ) ;
3485
3485
}
3486
3486
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
+
3487
3537
/// <summary>
3488
3538
/// Filters a sequence of values based on a predicate.
3489
3539
/// </summary>
0 commit comments