@@ -510,3 +510,59 @@ func TestReturnFields(t *testing.T) {
510510	assert .Equal (t , "Jon" , docs [0 ].Properties ["name" ])
511511	assert .Equal (t , "25" , docs [0 ].Properties ["years" ])
512512}
513+ 
514+ func  TestParams (t  * testing.T ) {
515+ 	c  :=  createClient ("TestParams" )
516+ 	version , _  :=  c .getRediSearchVersion ()
517+ 	if  version  <  20200  {
518+ 		// VectorSimilarity is available for RediSearch 2.2+ 
519+ 		return 
520+ 	}
521+ 
522+ 	// Create a schema 
523+ 	sc  :=  NewSchema (DefaultOptions ).AddField (NewNumericField ("numval" ))
524+ 	c .Drop ()
525+ 	assert .Nil (t , c .CreateIndex (sc ))
526+ 	// Create data 
527+     c .pool .Get ().Do ("HSET" , "1" , "numval" , "1" )
528+     c .pool .Get ().Do ("HSET" , "2" , "numval" , "2" )
529+     c .pool .Get ().Do ("HSET" , "3" , "numval" , "3" )
530+ 	// Searching with parameters 
531+ 	_ , total , err  :=  c .Search (NewQuery ("@numval:[$min $max]" ).
532+ 		SetParams (map [string ]interface {}{"min" : "1" , "max" : "2" }))
533+ 	assert .Nil (t , err )
534+ 	assert .Equal (t , 2 , total )
535+ }
536+ 
537+ func  TestVectorField (t  * testing.T ) {
538+ 	c  :=  createClient ("TestVectorField" )
539+ 	version , _  :=  c .getRediSearchVersion ()
540+ 	if  version  <  20200  {
541+ 		// VectorSimilarity is available for RediSearch 2.2+ 
542+ 		return 
543+ 	}
544+ 
545+ 	// Create a schema 
546+ 	sc  :=  NewSchema (DefaultOptions ).AddField (
547+ 		NewVectorFieldOptions ("v" , VectorFieldOptions {Algorithm : Flat , Attributes : map [string ]interface {}{
548+ 			"TYPE" : "FLOAT32" ,
549+ 			"DIM" : 2 ,
550+ 			"DISTANCE_METRIC" : "L2" ,
551+ 		}}),
552+ 	)
553+ 	c .Drop ()
554+ 	assert .Nil (t , c .CreateIndex (sc ))
555+ 	// Create data 
556+     c .pool .Get ().Do ("HSET" , "a" , "v" , "aaaaaaaa" )
557+     c .pool .Get ().Do ("HSET" , "b" , "v" , "aaaabaaa" )
558+     c .pool .Get ().Do ("HSET" , "c" , "v" , "aaaaabaa" )
559+ 	// Searching with parameters 
560+ 	docs , total , err  :=  c .Search (NewQuery ("*=>[KNN 2 @v $vec]" ).
561+ 		AddParam ("vec" , "aaaaaaaa" ).
562+ 		SetSortBy ("__v_score" , true ).
563+ 		AddReturnFields ("__v_score" ))
564+ 	assert .Nil (t , err )
565+ 	assert .Equal (t , 2 , total )
566+ 	assert .Equal (t , "a" , docs [0 ].Id )
567+ 	assert .Equal (t , "0" , docs [0 ].Properties ["__v_score" ])
568+ }
0 commit comments