diff --git a/sdk-core/src/main/java/io/milvus/v2/service/index/IndexService.java b/sdk-core/src/main/java/io/milvus/v2/service/index/IndexService.java index 37ac3c0d2..25a3160a4 100644 --- a/sdk-core/src/main/java/io/milvus/v2/service/index/IndexService.java +++ b/sdk-core/src/main/java/io/milvus/v2/service/index/IndexService.java @@ -178,11 +178,11 @@ public List listIndexes(MilvusServiceGrpc.MilvusServiceBlockingStub bloc return new ArrayList<>(); } rpcUtils.handleResponse(title, response.getStatus()); - List indexNames = new ArrayList<>(); - response.getIndexDescriptionsList().forEach(index -> { - indexNames.add(index.getIndexName()); - }); - return indexNames; + + return response.getIndexDescriptionsList().stream() + .filter(desc -> request.getFieldName() == null || desc.getFieldName().equals(request.getFieldName())) + .map(IndexDescription::getIndexName) + .collect(Collectors.toList()); } private void WaitForIndexComplete(MilvusServiceGrpc.MilvusServiceBlockingStub blockingStub, diff --git a/sdk-core/src/test/java/io/milvus/v2/client/MilvusClientV2DockerTest.java b/sdk-core/src/test/java/io/milvus/v2/client/MilvusClientV2DockerTest.java index 2fa0775cb..1a4dfb509 100644 --- a/sdk-core/src/test/java/io/milvus/v2/client/MilvusClientV2DockerTest.java +++ b/sdk-core/src/test/java/io/milvus/v2/client/MilvusClientV2DockerTest.java @@ -1152,6 +1152,7 @@ void testIndex() { extra.put("efConstruction",64); indexes.add(IndexParam.builder() .fieldName("vector") + .indexName("abc") .indexType(IndexParam.IndexType.HNSW) .metricType(IndexParam.MetricType.COSINE) .extraParams(extra) @@ -1221,6 +1222,19 @@ void testIndex() { collProps = descCollResp.getProperties(); Assertions.assertFalse(collProps.containsKey("prop")); + // list indexes + List names = client.listIndexes(ListIndexesReq.builder() + .collectionName(randomCollectionName) + .fieldName("vector") + .build()); + Assertions.assertEquals(1, names.size()); + Assertions.assertEquals("abc", names.get(0)); + + names = client.listIndexes(ListIndexesReq.builder() + .collectionName(randomCollectionName) + .build()); + Assertions.assertEquals(2, names.size()); + // describe scalar index DescribeIndexResp descResp = client.describeIndex(DescribeIndexReq.builder() .collectionName(randomCollectionName) @@ -1282,7 +1296,7 @@ void testIndex() { // drop index client.dropIndex(DropIndexReq.builder() .collectionName(randomCollectionName) - .indexName("vector") + .indexName("abc") .build()); IndexParam param = IndexParam.builder()