接口定义
existsCollection()用于检查指定的数据库及其对应的集合是否已经存在。
createCollectionIfNotExists()用于检查指定的数据库及其对应的集合是否已经存在,若不存在直接创建集合。
public Boolean existsCollection(String databaseName, String collection)
public Collection createCollectionIfNotExists(String databaseName, CreateCollectionParam param)
使用示例
private static final String DBNAME = "db-test";private static final String COLL_NAME = "book-vector";Boolean isExisted = client.existsCollection(DBNAME, COLL_NAME);System.out.println(COLL_NAME+ " exists: "+ isExisted);
参数名 | 是否必须 | 参数含义 | 配置方法 |
databaseName | 是 | 检查的集合所在的数据库名 | Collection 命名要求如下: 只能使用英文字母,数字,下划线_、中划线-,并以英文字母开头。 长度要求:[1,128]。 |
collection | 是 | 检查的集合名。 | Collection 命名要求如下: 只能使用英文字母,数字,下划线_、中划线-,并以英文字母开头。 长度要求:[1,128]。 |
private static final String DBNAME = "db-test";private static final String COLL_NAME = "book-vector";CreateCollectionParam collectionParam = CreateCollectionParam.newBuilder().withName("book-vector").withShardNum(3).withReplicaNum(2).withDescription("this is a collection book vector").addField(new FilterIndex("id", FieldType.String, IndexType.PRIMARY_KEY)).addField(new VectorIndex("vector", 3, IndexType.HNSW,MetricType.COSINE, new HNSWParams(16, 200))).addField(new FilterIndex("sparse_vector", FieldType.SparseVector, IndexType.INVERTED, MetricType.IP)).addField(new FilterIndex("bookName", FieldType.String, IndexType.FILTER)).addField(new FilterIndex("author", FieldType.String, IndexType.FILTER)).addField(new FilterIndex("tags", FieldType.Array, IndexType.FILTER)).build();Collection coll = client.createCollectionIfNotExists(DBNAME, collectionParam);Boolean isExisted = client.existsCollection(COLL_NAME);System.out.println(COLL_NAME+ " exists: "+ isExisted);
参数名 | 是否必须 | 参数含义 | 配置方法 |
databaseName | 是 | 检查的集合所在的数据库名 | Database 命名要求如下: 只能使用英文字母,数字,下划线_、中划线-,并以英文字母开头。 长度要求:[1,128]。 |
param | 是 | 集合相关配置参数 |
输出描述
book-vector exists: true
参数名 | 返回值 |
isExisted | true:集合存在 false:集合不存在 |