diff --git a/pom.xml b/pom.xml
index a26216892..2a8f91d72 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,6 +48,7 @@
http://www.milvus.io
+
sdk-core
sdk-bulkwriter
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 979d0b87c..51d41f45c 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
@@ -80,7 +80,7 @@ public Void createIndex(MilvusServiceGrpc.MilvusServiceBlockingStub blockingStub
Status status = blockingStub.createIndex(builder.build());
rpcUtils.handleResponse(title, status);
if (request.getSync()) {
- WaitForIndexComplete(blockingStub, request.getCollectionName(), indexParam.getFieldName(),
+ WaitForIndexComplete(blockingStub, request.getDatabaseName(), request.getCollectionName(), indexParam.getFieldName(),
indexParam.getIndexName(), request.getTimeout());
}
}
@@ -143,15 +143,17 @@ public Void dropIndexProperties(MilvusServiceGrpc.MilvusServiceBlockingStub bloc
}
public DescribeIndexResp describeIndex(MilvusServiceGrpc.MilvusServiceBlockingStub blockingStub, DescribeIndexReq request) {
- String title = String.format("DescribeIndexRequest collectionName:%s, fieldName:%s, indexName:%s",
- request.getCollectionName(), request.getFieldName(), request.getIndexName());
- DescribeIndexRequest describeIndexRequest = DescribeIndexRequest.newBuilder()
+ String title = String.format("DescribeIndexRequest databaseName:%s collectionName:%s, fieldName:%s, indexName:%s",
+ request.getDatabaseName(), request.getCollectionName(), request.getFieldName(), request.getIndexName());
+ DescribeIndexRequest.Builder builder = DescribeIndexRequest.newBuilder()
.setCollectionName(request.getCollectionName())
.setFieldName(request.getFieldName() == null ? "" : request.getFieldName())
- .setIndexName(request.getIndexName() == null ? "" : request.getIndexName())
- .build();
+ .setIndexName(request.getIndexName() == null ? "" : request.getIndexName());
+ if (StringUtils.isNotEmpty(request.getDatabaseName())) {
+ builder.setDbName(request.getDatabaseName());
+ }
- DescribeIndexResponse response = blockingStub.describeIndex(describeIndexRequest);
+ DescribeIndexResponse response = blockingStub.describeIndex(builder.build());
rpcUtils.handleResponse(title, response.getStatus());
List indexs = response.getIndexDescriptionsList().stream().filter(index -> index.getIndexName().equals(request.getIndexName()) || index.getFieldName().equals(request.getFieldName())).collect(Collectors.toList());
if (indexs.isEmpty()) {
@@ -187,7 +189,7 @@ public List listIndexes(MilvusServiceGrpc.MilvusServiceBlockingStub bloc
}
private void WaitForIndexComplete(MilvusServiceGrpc.MilvusServiceBlockingStub blockingStub,
- String collectionName, String fieldName, String indexName, long timeoutMs) {
+ String databaseName, String collectionName, String fieldName, String indexName, long timeoutMs) {
long startTime = System.currentTimeMillis(); // Capture start time/ Timeout in milliseconds (60 seconds)
// alloc a timestamp from the server, the DescribeIndex() will use this timestamp to check the segments
@@ -197,12 +199,16 @@ private void WaitForIndexComplete(MilvusServiceGrpc.MilvusServiceBlockingStub bl
long serverTs = allocTsResp.getTimestamp();
while (true) {
- DescribeIndexResp response = describeIndex(blockingStub, DescribeIndexReq.builder()
+ DescribeIndexReq describeIndexReq = DescribeIndexReq.builder()
.collectionName(collectionName)
.fieldName(fieldName)
.indexName(indexName)
.timestamp(serverTs)
- .build());
+ .build();
+ if (StringUtils.isNotEmpty(databaseName)) {
+ describeIndexReq.setDatabaseName(databaseName);
+ }
+ DescribeIndexResp response = describeIndex(blockingStub, describeIndexReq);
List indices = response.getIndexDescriptions();
DescribeIndexResp.IndexDesc desc = null;
if (indices.size() == 1) {
diff --git a/sdk-core/src/main/java/io/milvus/v2/service/index/request/DescribeIndexReq.java b/sdk-core/src/main/java/io/milvus/v2/service/index/request/DescribeIndexReq.java
index 5e599d8a2..a604d35c8 100644
--- a/sdk-core/src/main/java/io/milvus/v2/service/index/request/DescribeIndexReq.java
+++ b/sdk-core/src/main/java/io/milvus/v2/service/index/request/DescribeIndexReq.java
@@ -27,6 +27,7 @@
@Data
@SuperBuilder
public class DescribeIndexReq {
+ private String databaseName;
@NonNull
private String collectionName;
private String fieldName;
diff --git a/sdk-core/src/main/java/io/milvus/v2/utils/SchemaUtils.java b/sdk-core/src/main/java/io/milvus/v2/utils/SchemaUtils.java
index 4f004fe71..a46c00ff6 100644
--- a/sdk-core/src/main/java/io/milvus/v2/utils/SchemaUtils.java
+++ b/sdk-core/src/main/java/io/milvus/v2/utils/SchemaUtils.java
@@ -164,6 +164,8 @@ private static CreateCollectionReq.FieldSchema convertFromGrpcFieldSchema(FieldS
.isNullable(fieldSchema.getNullable())
.defaultValue(ParamUtils.valueFieldToObject(fieldSchema.getDefaultValue(), fieldSchema.getDataType()))
.build();
+
+ Map typeParams = new HashMap<>();
for (KeyValuePair keyValuePair : fieldSchema.getTypeParamsList()) {
if(keyValuePair.getKey().equals("dim")){
schema.setDimension(Integer.parseInt(keyValuePair.getValue()));
@@ -179,7 +181,10 @@ private static CreateCollectionReq.FieldSchema convertFromGrpcFieldSchema(FieldS
Map params = JsonUtils.fromJson(keyValuePair.getValue(), new TypeToken