@@ -3182,4 +3182,90 @@ public void Issue230()
31823182 Assert . Equal ( "FT.AGGREGATE" , buildCommand . Command ) ;
31833183 Assert . Equal ( new object [ ] { "idx:users" , "*" , "FILTER" , "@StatusId==1" , "GROUPBY" , 1 , "@CreatedDay" , "REDUCE" , "COUNT_DISTINCT" , 1 , "@UserId" , "REDUCE" , "COUNT" , 0 , "AS" , "count" , "DIALECT" , 3 } , buildCommand . Args ) ;
31843184 }
3185+
3186+ [ SkipIfRedis ( Comparison . LessThan , "7.3.240" ) ]
3187+ public void TestNumericInDialect4 ( )
3188+ {
3189+ IDatabase db = redisFixture . Redis . GetDatabase ( ) ;
3190+ db . Execute ( "FLUSHALL" ) ;
3191+ var ft = db . FT ( ) ;
3192+
3193+ Schema sc = new Schema ( )
3194+ . AddTextField ( "title" , 1.0 )
3195+ . AddNumericField ( "version" ) ;
3196+
3197+ Assert . True ( ft . Create ( index , FTCreateParams . CreateParams ( ) , sc ) ) ;
3198+ Dictionary < string , object > fields4 = new Dictionary < string , object >
3199+ {
3200+ { "title" , "hello world" } ,
3201+ { "version" , 123 }
3202+ } ;
3203+ AddDocument ( db , "qux" , fields4 ) ;
3204+
3205+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version:[123 123]" ) ) . TotalResults ) ;
3206+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version:[123]" ) . Dialect ( 4 ) ) . TotalResults ) ;
3207+ }
3208+
3209+ [ SkipIfRedis ( Comparison . LessThan , "7.3.240" ) ]
3210+ public void TestNumericOperatorsInDialect4 ( )
3211+ {
3212+ IDatabase db = redisFixture . Redis . GetDatabase ( ) ;
3213+ db . Execute ( "FLUSHALL" ) ;
3214+ var ft = db . FT ( ) ;
3215+
3216+ Schema sc = new Schema ( )
3217+ . AddTextField ( "title" , 1.0 )
3218+ . AddNumericField ( "version" ) ;
3219+
3220+ Assert . True ( ft . Create ( index , FTCreateParams . CreateParams ( ) , sc ) ) ;
3221+ Dictionary < string , object > fields4 = new Dictionary < string , object >
3222+ {
3223+ { "title" , "hello world" } ,
3224+ { "version" , 123 }
3225+ } ;
3226+ AddDocument ( db , "qux" , fields4 ) ;
3227+
3228+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version:[123 123]" ) ) . TotalResults ) ;
3229+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version==123" ) . Dialect ( 4 ) ) . TotalResults ) ;
3230+
3231+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version:[122 +inf]" ) ) . TotalResults ) ;
3232+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version>=122" ) . Dialect ( 4 ) ) . TotalResults ) ;
3233+
3234+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version:[-inf 124]" ) ) . TotalResults ) ;
3235+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version<=124" ) . Dialect ( 4 ) ) . TotalResults ) ;
3236+
3237+ }
3238+
3239+ [ SkipIfRedis ( Comparison . LessThan , "7.3.240" ) ]
3240+ public void TestNumericLogicalOperatorsInDialect4 ( )
3241+ {
3242+ IDatabase db = redisFixture . Redis . GetDatabase ( ) ;
3243+ db . Execute ( "FLUSHALL" ) ;
3244+ var ft = db . FT ( ) ;
3245+
3246+ Schema sc = new Schema ( )
3247+ . AddTextField ( "title" , 1.0 )
3248+ . AddNumericField ( "version" )
3249+ . AddNumericField ( "id" ) ;
3250+
3251+ Assert . True ( ft . Create ( index , FTCreateParams . CreateParams ( ) , sc ) ) ;
3252+ Dictionary < string , object > fields4 = new Dictionary < string , object >
3253+ {
3254+ { "title" , "hello world" } ,
3255+ { "version" , 123 } ,
3256+ { "id" , 456 }
3257+ } ;
3258+ AddDocument ( db , "qux" , fields4 ) ;
3259+
3260+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version<=124" ) . Dialect ( 4 ) ) . TotalResults ) ;
3261+
3262+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version:[123 123]" ) ) . TotalResults ) ;
3263+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version:[123] | @version:[124]" ) . Dialect ( 4 ) ) . TotalResults ) ;
3264+
3265+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version:[123 123] | @version:[7890 7890]" ) ) . TotalResults ) ;
3266+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version==123 | @version==7890" ) . Dialect ( 4 ) ) . TotalResults ) ;
3267+
3268+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version:[123 123] | @id:[456 7890]" ) ) . TotalResults ) ;
3269+ Assert . Equal ( 1 , ft . Search ( index , new Query ( "@version==123 @id==456" ) . Dialect ( 4 ) ) . TotalResults ) ;
3270+ }
31853271}
0 commit comments