Просмотр исходного кода

bug fix: support extra params for IndexParam (#763)

Signed-off-by: Nian Liu <nian.liu@zilliz.com>
Nian Liu 1 год назад
Родитель
Сommit
22e0951b7a

+ 3 - 0
src/main/java/io/milvus/v2/common/IndexParam.java

@@ -6,6 +6,8 @@ import lombok.Getter;
 import lombok.NonNull;
 import lombok.experimental.SuperBuilder;
 
+import java.util.Map;
+
 @Data
 @SuperBuilder
 public class IndexParam {
@@ -15,6 +17,7 @@ public class IndexParam {
     @Builder.Default
     private IndexType indexType = IndexType.AUTOINDEX;
     private MetricType metricType;
+    private Map<String, Object> extraParams;
 
     public String getIndexName() {
         if(indexName == null) {

+ 10 - 0
src/main/java/io/milvus/v2/service/index/IndexService.java

@@ -32,6 +32,16 @@ public class IndexService extends BaseService {
                                 .build())
                         .build();
             }
+            if (indexParam.getExtraParams() != null) {
+                for (String key : indexParam.getExtraParams().keySet()) {
+                    createIndexRequest = createIndexRequest.toBuilder()
+                            .addExtraParams(KeyValuePair.newBuilder()
+                                    .setKey(key)
+                                    .setValue(String.valueOf(indexParam.getExtraParams().get(key)))
+                                    .build())
+                            .build();
+                }
+            }
 
             Status status = milvusServiceBlockingStub.createIndex(createIndexRequest);
             rpcUtils.handleResponse(title, status);