MilvusService
# MilvusService 功能
MilvusService
是一个综合性服务,提供对 Milvus 数据库的全面管理,它实现了多个接口:IAMService
(身份访问管理服务)、ICMService
(集合管理服务)和 IVecMService
(向量管理服务)。
# 身份访问管理 (IAMService)
IAMService
接口提供用户和角色的创建、删除、查询以及权限的授予和撤销等功能。
- 创建角色:
createRole(String roleName)
- 创建用户:
createUser(String userName, String password)
- 查询角色权限:
describeRole(String roleName)
- 查询用户信息:
describeUser(String userName)
- 删除角色:
dropRole(String roleName)
- 删除用户:
dropUser(String userName)
- 授予角色权限:
grantPrivilege(String roleName, String objectType, String privilege, String objectName)
- 授予用户角色:
grantRole(String roleName, String userName)
- 列出所有角色:
listRoles()
- 列出所有用户:
listUsers()
- 撤销角色权限:
revokePrivilege(String roleName, String objectType, String privilege, String objectName, String databaseName)
- 撤销用户角色:
revokeRole(String roleName, String userName)
- 更新用户密码:
updatePassword(String userName, String password, String newPassword)
# 集合管理 (ICMService)
ICMService
接口提供集合的创建、删除、查询、重命名、索引创建和管理等功能。
- 创建集合:
createCollection(MilvusEntity milvusEntity)
- 添加字段:
addField(String collectionName, AddFieldReq ... addFieldReq)
- 获取字段:
getField(String collectionName, String fieldName)
- 获取集合详细信息:
describeCollection(String collectionName)
- 删除集合:
dropCollection(String collectionName)
- 检查集合是否存在:
hasCollection(String collectionName)
- 获取集合统计信息:
getCollectionStats(String collectionName)
- 重命名集合:
renameCollection(String oldCollectionName, String newCollectionName)
- 为集合创建索引:
createIndex(String collectionName, List<IndexParam> indexParams)
- 获取集合索引信息:
describeIndex(String collectionName, String fieldName)
- 删除集合索引:
dropIndex(String collectionName, String fieldName)
- 获取集合或分区的加载状态:
getLoadState(String collectionName, String partitionName)
- 加载集合数据到内存:
loadCollection(String collectionName)
- 从内存中释放集合数据:
releaseCollection(String collectionName)
- 创建集合分区:
createPartition(String collectionName, String partitionName)
- 删除集合分区:
dropPartition(String collectionName, String partitionName)
- 检查分区是否存在:
hasPartition(String collectionName, String partitionName)
- 列出集合中的所有分区:
listPartitions(String collectionName)
- 加载集合分区到内存:
loadPartitions(String collectionName, List<String> partitionNames)
- 从内存中释放集合分区:
releasePartitions(String collectionName, List<String> partitionNames)
# 向量管理 (IVecMService)
IVecMService
接口提供向量的插入、更新、查询、删除以及相似性搜索等功能。
- 删除实体:
delete(String collectionName, String partitionName, String filter, List<Object> ids)
- 根据ID获取实体:
get(String collectionName, String partitionName, List<Object> ids, List<String> outputFields)
- 插入数据:
insert(String collectionName, List<JSONObject> data, String partitionName)
- 根据标量过滤条件查询:
query(String collectionName, List<String> partitionNames, List<String> outputFields, List<Object> ids, String filter, ConsistencyLevel consistencyLevel, long offset, long limit)
- 执行向量相似性搜索:
search(String collectionName, List<String> partitionNames, String annsField, int topK, String filter, List<String> outputFields, List<Object> data, long offset, long limit, int roundDecimal, Map<String, Object> searchParams, long guaranteeTimestamp, long gracefulTime, ConsistencyLevel consistencyLevel, boolean ignoreGrowing)
- 插入或更新数据:
upsert(String collectionName, String partitionName, List<JSONObject> data)
# 公共方法
除了上述功能,MilvusService
还提供了一个公共方法来获取 MilvusClientV2
实例:
- 获取 Milvus 客户端: `getClient()
上次更新: 2024/06/12, 19:12:46