@@ -507,7 +507,7 @@ public void TestApplyAndFilterAggregations()
507
507
508
508
// actual search
509
509
AggregationResult res = ft . Aggregate ( index , r ) ;
510
- Assert . Equal ( 3 , res . TotalResults ) ;
510
+ Assert . Equal ( 2 , res . TotalResults ) ;
511
511
512
512
Row r1 = res . GetRow ( 0 ) ;
513
513
Assert . Equal ( "def" , r1 . GetString ( "name" ) ) ;
@@ -2668,7 +2668,7 @@ public async Task TestProfileSearchAsync()
2668
2668
}
2669
2669
2670
2670
2671
- [ SkipIfRedis ( Is . Enterprise ) ]
2671
+ [ SkipIfRedis ( Is . Enterprise , Comparison . GreaterThanOrEqual , "7.3.240" ) ]
2672
2672
public void TestProfile ( )
2673
2673
{
2674
2674
IDatabase db = redisFixture . Redis . GetDatabase ( ) ;
@@ -2695,10 +2695,10 @@ public void TestProfile()
2695
2695
var aggregateRes = profileAggregate . Item1 ;
2696
2696
var aggregateDet = profileAggregate . Item2 ;
2697
2697
Assert . Equal ( 5 , aggregateDet . Count ) ;
2698
- Assert . Equal ( 1 , aggregateRes . TotalResults ) ;
2698
+ Assert . Equal ( 2 , aggregateRes . TotalResults ) ;
2699
2699
}
2700
2700
2701
- [ SkipIfRedis ( Is . Enterprise ) ]
2701
+ [ SkipIfRedis ( Is . Enterprise , Comparison . GreaterThanOrEqual , "7.3.240" ) ]
2702
2702
public async Task TestProfileAsync ( )
2703
2703
{
2704
2704
IDatabase db = redisFixture . Redis . GetDatabase ( ) ;
@@ -2724,7 +2724,66 @@ public async Task TestProfileAsync()
2724
2724
var aggregateRes = profileAggregate . Item1 ;
2725
2725
var aggregateDet = profileAggregate . Item2 ;
2726
2726
Assert . Equal ( 5 , aggregateDet . Count ) ;
2727
- Assert . Equal ( 1 , aggregateRes . TotalResults ) ;
2727
+ Assert . Equal ( 2 , aggregateRes . TotalResults ) ;
2728
+ }
2729
+
2730
+ [ SkipIfRedis ( Is . Enterprise , Comparison . LessThan , "7.3.240" ) ]
2731
+ public void TestProfileIssue306 ( )
2732
+ {
2733
+ IDatabase db = redisFixture . Redis . GetDatabase ( ) ;
2734
+ db . Execute ( "FLUSHALL" ) ;
2735
+ var ft = db . FT ( ) ;
2736
+
2737
+ ft . Create ( index , new Schema ( ) . AddTextField ( "t" , sortable : true ) ) ; // Calling FT.CREATR without FTCreateParams
2738
+ db . HashSet ( "1" , "t" , "hello" ) ;
2739
+ db . HashSet ( "2" , "t" , "world" ) ;
2740
+
2741
+ // check using Query
2742
+ var q = new Query ( "hello|world" ) . SetNoContent ( ) ;
2743
+ var profileSearch = ft . ProfileSearch ( index , q ) ;
2744
+ var searchRes = profileSearch . Item1 ;
2745
+ var searchDet = profileSearch . Item2 ;
2746
+
2747
+ Assert . Equal ( 6 , searchDet . Count ) ;
2748
+ Assert . Equal ( 2 , searchRes . Documents . Count ) ;
2749
+
2750
+
2751
+ // check using AggregationRequest
2752
+ var aggReq = new AggregationRequest ( "*" ) . Load ( FieldName . Of ( "t" ) ) . Apply ( "startswith(@t, 'hel')" , "prefix" ) ;
2753
+ var profileAggregate = ft . ProfileAggregate ( index , aggReq ) ;
2754
+ var aggregateRes = profileAggregate . Item1 ;
2755
+ var aggregateDet = profileAggregate . Item2 ;
2756
+ Assert . True ( aggregateDet . Count >= 6 ) ;
2757
+ Assert . Equal ( 2 , aggregateRes . TotalResults ) ;
2758
+ }
2759
+
2760
+ [ SkipIfRedis ( Is . Enterprise , Comparison . LessThan , "7.3.240" ) ]
2761
+ public async Task TestProfileAsyncIssue306 ( )
2762
+ {
2763
+ IDatabase db = redisFixture . Redis . GetDatabase ( ) ;
2764
+ db . Execute ( "FLUSHALL" ) ;
2765
+ var ft = db . FT ( ) ;
2766
+
2767
+ await ft . CreateAsync ( index , new Schema ( ) . AddTextField ( "t" , sortable : true ) ) ; // Calling FT.CREATR without FTCreateParams
2768
+ db . HashSet ( "1" , "t" , "hello" ) ;
2769
+ db . HashSet ( "2" , "t" , "world" ) ;
2770
+
2771
+ // check using Query
2772
+ var q = new Query ( "hello|world" ) . SetNoContent ( ) ;
2773
+ var profileSearch = await ft . ProfileSearchAsync ( index , q ) ;
2774
+ var searchRes = profileSearch . Item1 ;
2775
+ var searchDet = profileSearch . Item2 ;
2776
+
2777
+ Assert . Equal ( 6 , searchDet . Count ) ;
2778
+ Assert . Equal ( 2 , searchRes . Documents . Count ) ;
2779
+
2780
+ // check using AggregationRequest
2781
+ var aggReq = new AggregationRequest ( "*" ) . Load ( FieldName . Of ( "t" ) ) . Apply ( "startswith(@t, 'hel')" , "prefix" ) ;
2782
+ var profileAggregate = await ft . ProfileAggregateAsync ( index , aggReq ) ;
2783
+ var aggregateRes = profileAggregate . Item1 ;
2784
+ var aggregateDet = profileAggregate . Item2 ;
2785
+ Assert . True ( aggregateDet . Count >= 6 ) ;
2786
+ Assert . Equal ( 2 , aggregateRes . TotalResults ) ;
2728
2787
}
2729
2788
2730
2789
[ Fact ]
0 commit comments