From 1d1376aef0a58f7f3c62117e060d81e694dc7124 Mon Sep 17 00:00:00 2001 From: M Sazzadul Hoque <7600764+sazzad16@users.noreply.github.com> Date: Sun, 3 Oct 2021 12:45:26 +0600 Subject: [PATCH] Support DROPINDEX command with DD option --- src/main/java/io/redisearch/Client.java | 2 ++ .../java/io/redisearch/client/Client.java | 9 ++++++ .../java/io/redisearch/client/ClientTest.java | 28 +++++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/src/main/java/io/redisearch/Client.java b/src/main/java/io/redisearch/Client.java index ee8a809..e608cad 100644 --- a/src/main/java/io/redisearch/Client.java +++ b/src/main/java/io/redisearch/Client.java @@ -324,6 +324,8 @@ public interface Client extends Closeable{ */ boolean dropIndex(boolean missingOk); + boolean dropIndexDD(); + /** * Add a word to the suggestion index for redis plugin * diff --git a/src/main/java/io/redisearch/client/Client.java b/src/main/java/io/redisearch/client/Client.java index 6689e20..8814002 100644 --- a/src/main/java/io/redisearch/client/Client.java +++ b/src/main/java/io/redisearch/client/Client.java @@ -884,6 +884,15 @@ public boolean dropIndex(boolean missingOk) { } } + @Override + public boolean dropIndexDD() { + try (Jedis conn = connection()) { + String res = sendCommand(conn, commands.getDropCommand(), endocdedIndexName, + Keywords.DD.getRaw()).getStatusCodeReply(); + return res.equals("OK"); + } + } + @Override public Long addSuggestion(Suggestion suggestion, boolean increment) { List args = new ArrayList<>(); diff --git a/src/test/java/io/redisearch/client/ClientTest.java b/src/test/java/io/redisearch/client/ClientTest.java index 5735ae3..85f8a2a 100644 --- a/src/test/java/io/redisearch/client/ClientTest.java +++ b/src/test/java/io/redisearch/client/ClientTest.java @@ -915,6 +915,34 @@ public void testMGet() throws Exception { assertTrue(Arrays.equals( SafeEncoder.encode("Hello World!2"), (byte[])docs.get(0).get("txt1"))); } + @Test + public void testDropDD() { + search.createIndex(new Schema().addTextField("txt1", 1.0), Client.IndexOptions.defaultOptions()); + search.addDocument(new Document("doc1").set("txt1", "Hello World!1"), new AddOptions()); + search.addDocument(new Document("doc2").set("txt1", "Hello World!2"), new AddOptions()); + search.addDocument(new Document("doc3").set("txt1", "Hello World!3"), new AddOptions()); + + search.dropIndexDD(); + try { + search.getDocument("doc1"); + } catch(JedisDataException jde) { + assertUnknownIndex(jde); + } + try { + search.getDocuments("doc2", "doc3"); + } catch(JedisDataException jde) { + assertUnknownIndex(jde); + } + try { + search.dropIndexDD(); + } catch(JedisDataException jde) { + assertUnknownIndex(jde); + } + } + + private static void assertUnknownIndex(JedisDataException jde) { + assertTrue(jde.getMessage().toLowerCase().contains("unknown index")); + } @Test public void testAddSuggestionGetSuggestionFuzzy() throws Exception {