add<禁用动态字段>

This commit is contained in:
xgc 2024-08-30 16:32:15 +08:00
parent 7e59cd0c9a
commit 4a2c17bcf2
4 changed files with 24 additions and 3 deletions

View File

@ -20,9 +20,19 @@ public @interface MilvusCollection {
String name();
/**
*
* 别名
*/
String[] alias() default {};
/**
* 一致性级别
*/
ConsistencyLevel level() default ConsistencyLevel.BOUNDED;
/**
* 禁用动态字段
*/
boolean enableDynamicField() default false;
}

View File

@ -16,7 +16,14 @@ public class CollectionSchemaBuilder {
private final MilvusClientV2 wrapper;
private final CreateCollectionReq.CollectionSchema schema;
private ConsistencyLevel consistencyLevel=ConsistencyLevel.BOUNDED;
private Boolean enableDynamicField=false;
public CollectionSchemaBuilder(Boolean enableDynamicField,String collectionName, MilvusClientV2 wrapper) {
this.collectionName = collectionName;
this.wrapper = wrapper;
this.schema = wrapper.createSchema();
this.enableDynamicField=enableDynamicField;
}
public CollectionSchemaBuilder(String collectionName, MilvusClientV2 wrapper) {
this.collectionName = collectionName;
this.wrapper = wrapper;
@ -44,7 +51,8 @@ public class CollectionSchemaBuilder {
CreateCollectionReq req=CreateCollectionReq.builder().
collectionName(this.collectionName).
collectionSchema(this.schema).
consistencyLevel(this.consistencyLevel)
consistencyLevel(this.consistencyLevel).
enableDynamicField(this.enableDynamicField)
.build();
wrapper.createCollection(req);
}

View File

@ -69,6 +69,8 @@ public class MilvusConverter {
// 集合名称
String collectionName = collectionAnnotation.name();
milvus.setCollectionName(collectionName);
boolean enableDynamicField = collectionAnnotation.enableDynamicField();
milvus.setEnableDynamicField(enableDynamicField);
//一致性级别
ConsistencyLevel level = collectionAnnotation.level();
milvus.setConsistencyLevel(level);
@ -220,7 +222,7 @@ public class MilvusConverter {
}
// 创建新集合
CollectionSchemaBuilder schemaBuilder = new CollectionSchemaBuilder(
milvusEntity.getCollectionName(), client
milvusEntity.getEnableDynamicField(),milvusEntity.getCollectionName(), client
);
schemaBuilder.addField(milvusEntity.getMilvusFields().toArray(new AddFieldReq[0]));
schemaBuilder.addConsistencyLevel(milvusEntity.getConsistencyLevel());

View File

@ -18,4 +18,5 @@ public class MilvusEntity {
private List<AddFieldReq> milvusFields;
private List<String> partitionName;
private ConsistencyLevel consistencyLevel;
private Boolean enableDynamicField;
}