Skip to content

Commit 2293166

Browse files
author
Avital-Fine
committed
test with client
1 parent df88914 commit 2293166

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

redisearch/redisearch_test.go

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)