@@ -3182,4 +3182,90 @@ public void Issue230()
3182
3182
Assert . Equal ( "FT.AGGREGATE" , buildCommand . Command ) ;
3183
3183
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 ) ;
3184
3184
}
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
+ }
3185
3271
}
0 commit comments