From cef817fe0e8ed135f5107f794ae7eaeaa03670da Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Thu, 15 Jun 2023 09:59:08 +0300 Subject: [PATCH] Fixed - RSearch.search() method throws "Parameters must be specified in PARAM VALUE pairs" error #5106 --- redisson/src/main/java/org/redisson/RedissonSearch.java | 4 ++-- redisson/src/test/java/org/redisson/RedissonSearchTest.java | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/redisson/src/main/java/org/redisson/RedissonSearch.java b/redisson/src/main/java/org/redisson/RedissonSearch.java index 1cd383a96..b9b336f7f 100644 --- a/redisson/src/main/java/org/redisson/RedissonSearch.java +++ b/redisson/src/main/java/org/redisson/RedissonSearch.java @@ -454,7 +454,7 @@ public class RedissonSearch implements RSearch { } if (!options.getParams().isEmpty()) { args.add("PARAMS"); - args.add(options.getParams().size()); + args.add(options.getParams().size()*2); for (Map.Entry entry : options.getParams().entrySet()) { args.add(entry.getKey()); args.add(entry.getValue()); @@ -573,7 +573,7 @@ public class RedissonSearch implements RSearch { } if (!options.getParams().isEmpty()) { args.add("PARAMS"); - args.add(options.getParams().size()); + args.add(options.getParams().size()*2); for (Map.Entry entry : options.getParams().entrySet()) { args.add(entry.getKey()); args.add(entry.getValue()); diff --git a/redisson/src/test/java/org/redisson/RedissonSearchTest.java b/redisson/src/test/java/org/redisson/RedissonSearchTest.java index 38d5c4725..3a191c07e 100644 --- a/redisson/src/test/java/org/redisson/RedissonSearchTest.java +++ b/redisson/src/test/java/org/redisson/RedissonSearchTest.java @@ -224,6 +224,7 @@ public class RedissonSearchTest extends BaseTest { SearchResult r2 = s.search("idx", "*", QueryOptions.defaults() .returnAttributes(new ReturnAttribute("arr"), new ReturnAttribute("val")) + .params(Collections.singletonMap("12", "323")) .dialect(3)); Map map2 = new LinkedHashMap<>();