diff --git a/src/main/java/com/aliyun/tair/tairvector/TairVector.java b/src/main/java/com/aliyun/tair/tairvector/TairVector.java index 7752717..0e6d522 100644 --- a/src/main/java/com/aliyun/tair/tairvector/TairVector.java +++ b/src/main/java/com/aliyun/tair/tairvector/TairVector.java @@ -293,6 +293,37 @@ public Long tvsdel(byte[] index, byte[] entityid) { } } + /** + * TVS.DEL TVS.DEL index entityid1 entityid2 + *
+ * delete entity from tair-vector module + * + * @param index index name + * @param entityids entity id + * @return Long integer-reply the number of fields that were removed from the tair-vector + * not including specified but no existing fields. + */ + public Long tvsdel(final String index, final String... entityids) { + Jedis jedis = getJedis(); + try { + Object obj = jedis.sendCommand(ModuleCommand.TVSDEL, JoinParameters.joinParameters(SafeEncoder.encode(index), SafeEncoder.encodeMany(entityids))); + return BuilderFactory.LONG.build(obj); + } finally { + releaseJedis(jedis); + } + } + + public Long tvsdel(byte[] index, byte[]... entityids) { + Jedis jedis = getJedis(); + try { + Object obj = jedis.sendCommand(ModuleCommand.TVSDEL, JoinParameters.joinParameters(index, entityids)); + return BuilderFactory.LONG.build(obj); + } finally { + releaseJedis(jedis); + } + } + + /** * TVS.HDEL TVS.HDEL index entityid attribute_key [attribute_key ...] *
diff --git a/src/main/java/com/aliyun/tair/tairvector/TairVectorCluster.java b/src/main/java/com/aliyun/tair/tairvector/TairVectorCluster.java index 831db15..11de68a 100644 --- a/src/main/java/com/aliyun/tair/tairvector/TairVectorCluster.java +++ b/src/main/java/com/aliyun/tair/tairvector/TairVectorCluster.java @@ -196,6 +196,26 @@ public Long tvsdel(byte[] index, byte[] entityid) { return BuilderFactory.LONG.build(obj); } + /** + * TVS.DEL TVS.DEL index entityid1 entityi2 + *
+ * delete entity from tair-vector module + * + * @param index index name + * @param entityids entity id + * @return Long integer-reply the number of fields that were removed from the tair-vector + * not including specified but non existing fields. + */ + public Long tvsdel(final String index, final String... entityids) { + Object obj = jc.sendCommand(SafeEncoder.encode(index), ModuleCommand.TVSDEL, JoinParameters.joinParameters(SafeEncoder.encode(index), SafeEncoder.encodeMany(entityids))); + return BuilderFactory.LONG.build(obj); + } + + public Long tvsdel(byte[] index, byte[]... entityids) { + Object obj = jc.sendCommand(index, ModuleCommand.TVSDEL, JoinParameters.joinParameters(index, entityids)); + return BuilderFactory.LONG.build(obj); + } + /** * TVS.HDEL TVS.HDEL index entityid attribute_key [attribute_key ...] *
diff --git a/src/main/java/com/aliyun/tair/tairvector/TairVectorPipeline.java b/src/main/java/com/aliyun/tair/tairvector/TairVectorPipeline.java
index 7b6dda7..5497410 100644
--- a/src/main/java/com/aliyun/tair/tairvector/TairVectorPipeline.java
+++ b/src/main/java/com/aliyun/tair/tairvector/TairVectorPipeline.java
@@ -189,6 +189,27 @@ public Response
+ * delete entity from tair-vector module
+ *
+ * @param index index name
+ * @param entityids entity id
+ * @return Long integer-reply the number of fields that were removed from the tair-vector
+ * not including specified but non existing fields.
+ */
+ public Response
diff --git a/src/test/java/com/aliyun/tair/tests/tairvector/TairVectorClusterTest.java b/src/test/java/com/aliyun/tair/tests/tairvector/TairVectorClusterTest.java
index 7fb747f..575a034 100644
--- a/src/test/java/com/aliyun/tair/tests/tairvector/TairVectorClusterTest.java
+++ b/src/test/java/com/aliyun/tair/tests/tairvector/TairVectorClusterTest.java
@@ -65,6 +65,14 @@ private void tvs_hset(byte[] entityid, byte[] vector, byte[] param_k, byte[] par
assertEquals(result, 2);
}
+ private long tvs_del_entity(String... entity) {
+ return tairVectorCluster.tvsdel(index, entity);
+ }
+
+ private long tvs_del_entity(byte[]... entity) {
+ return tairVectorCluster.tvsdel(SafeEncoder.encode(index), entity);
+ }
+
private long tvs_del_entity(String entity) {
return tairVectorCluster.tvsdel(index, entity);
}
@@ -189,6 +197,16 @@ public void tvs_del() {
long count_byte = tvs_del_entity(SafeEncoder.encode("second_entity"));
assertEquals(1, count_byte);
+ tairVectorCluster.tvsdelindex(index);
+ tvs_create_index_and_load_data();
+ count_string = tvs_del_entity("first_entity", "second_entity");
+ assertEquals(2, count_string);
+
+ tairVectorCluster.tvsdelindex(index);
+ tvs_create_index_and_load_data();
+ count_byte = tvs_del_entity(SafeEncoder.encode("first_entity"), SafeEncoder.encode("second_entity"));
+ assertEquals(2, count_byte);
+
tairVectorCluster.tvsdelindex(index);
}
diff --git a/src/test/java/com/aliyun/tair/tests/tairvector/TairVectorPipelineTest.java b/src/test/java/com/aliyun/tair/tests/tairvector/TairVectorPipelineTest.java
index eb5b9c1..2d5cf22 100644
--- a/src/test/java/com/aliyun/tair/tests/tairvector/TairVectorPipelineTest.java
+++ b/src/test/java/com/aliyun/tair/tests/tairvector/TairVectorPipelineTest.java
@@ -66,6 +66,14 @@ private void tvs_hset(byte[] entityid, byte[] vector, byte[] param_k, byte[] par
tairVectorPipeline.tvshset(SafeEncoder.encode(index), entityid, vector, param_k, param_v);
}
+ private void tvs_del_entity(String... entity) {
+ tairVectorPipeline.tvsdel(index, entity);
+ }
+
+ private void tvs_del_entity(byte[]... entity) {
+ tairVectorPipeline.tvsdel(SafeEncoder.encode(index), entity);
+ }
+
private void tvs_del_entity(String entity) {
tairVectorPipeline.tvsdel(index, entity);
}
@@ -218,6 +226,20 @@ public void tvs_del() {
List