From 194acc9dcc1dce1e7b7557424318d34b2871f821 Mon Sep 17 00:00:00 2001 From: M Sazzadul Hoque <7600764+sazzad16@users.noreply.github.com> Date: Sun, 5 May 2024 19:04:33 +0600 Subject: [PATCH 1/3] Support RediSearch DIALECT 5 --- .../clients/jedis/modules/search/SearchTest.java | 13 +++++++++++++ .../modules/search/SearchWithParamsTest.java | 15 +++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/test/java/redis/clients/jedis/modules/search/SearchTest.java b/src/test/java/redis/clients/jedis/modules/search/SearchTest.java index 1bc6cb345d..7307e621c8 100644 --- a/src/test/java/redis/clients/jedis/modules/search/SearchTest.java +++ b/src/test/java/redis/clients/jedis/modules/search/SearchTest.java @@ -412,6 +412,9 @@ public void testQueryParams() { Query query = new Query("@numval:[$min $max]").addParam("min", 1).addParam("max", 2).dialect(2); assertEquals(2, client.ftSearch(index, query).getTotalResults()); + + query = new Query("@numval:[$eq]").addParam("eq", 2).dialect(5); + assertEquals(1, client.ftSearch(index, query).getTotalResults()); } @Test @@ -532,6 +535,14 @@ public void testJsonWithAlias() { res = client.ftSearch(index, new Query("@num:[0 10]")); assertEquals(1, res.getTotalResults()); assertEquals("king:2", res.getDocuments().get(0).getId()); + + res = client.ftSearch(index, new Query("@num:[42 42]")); + assertEquals(1, res.getTotalResults()); + assertEquals("king:1", res.getDocuments().get(0).getId()); + + res = client.ftSearch(index, new Query("@num:[42]").dialect(5)); + assertEquals(1, res.getTotalResults()); + assertEquals("king:1", res.getDocuments().get(0).getId()); } @Test @@ -773,6 +784,7 @@ public void getTagField() { assertEquals(1, client.ftSearch(index, new Query("@category:{yellow}")).getTotalResults()); assertEquals(0, client.ftSearch(index, new Query("@category:{purple}")).getTotalResults()); assertEquals(1, client.ftSearch(index, new Query("@category:{orange\\;purple}")).getTotalResults()); + assertEquals(1, client.ftSearch(index, new Query("@category:{orange;purple}").dialect(5)).getTotalResults()); assertEquals(4, client.ftSearch(index, new Query("hello")).getTotalResults()); assertEquals(new HashSet<>(Arrays.asList("red", "blue", "green", "yellow", "orange;purple")), @@ -814,6 +826,7 @@ public void testGetTagFieldWithNonDefaultSeparator() { assertEquals(1, client.ftSearch(index, new Query("hello @category:{yellow}")).getTotalResults()); assertEquals(0, client.ftSearch(index, new Query("@category:{purple}")).getTotalResults()); assertEquals(1, client.ftSearch(index, new Query("@category:{orange\\,purple}")).getTotalResults()); + assertEquals(1, client.ftSearch(index, new Query("@category:{orange,purple}").dialect(5)).getTotalResults()); assertEquals(4, client.ftSearch(index, new Query("hello")).getTotalResults()); assertEquals(new HashSet<>(Arrays.asList("red", "blue", "green", "yellow", "orange,purple")), diff --git a/src/test/java/redis/clients/jedis/modules/search/SearchWithParamsTest.java b/src/test/java/redis/clients/jedis/modules/search/SearchWithParamsTest.java index 897da8eece..dff74f8465 100644 --- a/src/test/java/redis/clients/jedis/modules/search/SearchWithParamsTest.java +++ b/src/test/java/redis/clients/jedis/modules/search/SearchWithParamsTest.java @@ -517,6 +517,9 @@ public void testQueryParams() { assertEquals(2, client.ftSearch(index, "@numval:[$min $max]", FTSearchParams.searchParams().params(paramValues) .dialect(2)).getTotalResults()); + + assertEquals(1, client.ftSearch(index, "@numval:[$eq]", + FTSearchParams.searchParams().addParam("eq", 2).dialect(5)).getTotalResults()); } @Test @@ -574,6 +577,14 @@ public void testJsonWithAlias() { res = client.ftSearch(index, "@num:[0 10]"); assertEquals(1, res.getTotalResults()); assertEquals("king:2", res.getDocuments().get(0).getId()); + + res = client.ftSearch(index, "@num:[42 42]", FTSearchParams.searchParams()); + assertEquals(1, res.getTotalResults()); + assertEquals("king:1", res.getDocuments().get(0).getId()); + + res = client.ftSearch(index, "@num:[42]", FTSearchParams.searchParams().dialect(5)); + assertEquals(1, res.getTotalResults()); + assertEquals("king:1", res.getDocuments().get(0).getId()); } @Test @@ -777,6 +788,8 @@ public void getTagField() { assertEquals(1, client.ftSearch(index, "@category:{yellow}").getTotalResults()); assertEquals(0, client.ftSearch(index, "@category:{purple}").getTotalResults()); assertEquals(1, client.ftSearch(index, "@category:{orange\\;purple}").getTotalResults()); + assertEquals(1, client.ftSearch(index, "@category:{orange;purple}", + FTSearchParams.searchParams().dialect(5)).getTotalResults()); assertEquals(4, client.ftSearch(index, "hello").getTotalResults()); assertEquals(new HashSet<>(Arrays.asList("red", "blue", "green", "yellow", "orange;purple")), @@ -816,6 +829,8 @@ public void testGetTagFieldWithNonDefaultSeparator() { assertEquals(1, client.ftSearch(index, "hello @category:{yellow}").getTotalResults()); assertEquals(0, client.ftSearch(index, "@category:{purple}").getTotalResults()); assertEquals(1, client.ftSearch(index, "@category:{orange\\,purple}").getTotalResults()); + assertEquals(1, client.ftSearch(index, "@category:{orange,purple}", + FTSearchParams.searchParams().dialect(5)).getTotalResults()); assertEquals(4, client.ftSearch(index, "hello").getTotalResults()); assertEquals(new HashSet<>(Arrays.asList("red", "blue", "green", "yellow", "orange,purple")), From 2d1b4fb9321b5d59bc68f96f62edb09898c075d4 Mon Sep 17 00:00:00 2001 From: M Sazzadul Hoque <7600764+sazzad16@users.noreply.github.com> Date: Thu, 13 Jun 2024 00:26:20 +0600 Subject: [PATCH 2/3] [test] use 7.4.0-rc1 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 1800f00d7e..6262d61ad4 100644 --- a/Makefile +++ b/Makefile @@ -446,7 +446,7 @@ start: stunnel cleanup compile-module echo "$$REDIS_UDS" | redis-server - echo "$$REDIS_UNAVAILABLE_CONF" | redis-server - redis-cli -a cluster --cluster create 127.0.0.1:7479 127.0.0.1:7480 127.0.0.1:7481 --cluster-yes - docker run -p 6479:6379 --name jedis-stack -d redis/redis-stack-server:edge + docker run -p 6479:6379 --name jedis-stack -d redis/redis-stack-server:7.4.0-rc1 cleanup: - rm -vf /tmp/redis_cluster_node*.conf 2>/dev/null From 9de63da3dcf676dcd302e05940eaa36e75a75857 Mon Sep 17 00:00:00 2001 From: M Sazzadul Hoque <7600764+sazzad16@users.noreply.github.com> Date: Thu, 13 Jun 2024 18:18:27 +0600 Subject: [PATCH 3/3] comment --- .../java/redis/clients/jedis/search/querybuilder/Values.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/redis/clients/jedis/search/querybuilder/Values.java b/src/main/java/redis/clients/jedis/search/querybuilder/Values.java index 67256f2359..7b4971be19 100644 --- a/src/main/java/redis/clients/jedis/search/querybuilder/Values.java +++ b/src/main/java/redis/clients/jedis/search/querybuilder/Values.java @@ -41,10 +41,14 @@ public static RangeValue between(int from, int to) { return new LongRangeValue(from, to); } + // TODO: change to simpler [d] available since RedisStack 7.4.0-rc1; + // currently kept for backward compatibility public static RangeValue eq(double d) { return new DoubleRangeValue(d, d); } + // TODO: change to simpler [i] available since RedisStack 7.4.0-rc1; + // currently kept for backward compatibility public static RangeValue eq(int i) { return new LongRangeValue(i, i); }