当前位置: 首页 > news >正文

milvus集合管理

一、创建集合

集合由一个或多个分区组成。在创建新集合时,Milvus会创建一个默认分区_default
1.准备模式
需要创建的集合必须包含一个主键字段和一个向量字段。INT64和String是主键字段支持的数据类型。

首先,准备必要的参数,包括字段模式、集合模式和集合名称。

from pymilvus import CollectionSchema, FieldSchema, DataType
book_id = FieldSchema(name="book_id",dtype=DataType.INT64,is_primary=True,
)
book_name = FieldSchema(name="book_name",dtype=DataType.VARCHAR,max_length=200,# The default value will be used if this field is left empty during data inserts or upserts.# The data type of `default_value` must be the same as that specified in `dtype`.default_value="Unknown"
)
word_count = FieldSchema(name="word_count",dtype=DataType.INT64,# The default value will be used if this field is left empty during data inserts or upserts.# The data type of `default_value` must be the same as that specified in `dtype`.default_value=9999
)
book_intro = FieldSchema(name="book_intro",dtype=DataType.FLOAT_VECTOR,dim=2
)
# 集合的定义
schema = CollectionSchema(fields=[book_id, book_name, word_count, book_intro],description="Test book search",enable_dynamic_field=True
)
collection_name = "book"

也可以使用预定义的模式新建集合:

from pymilvus import Collection
collection = Collection(name=collection_name,schema=schema,using='default',shards_num=2)

二、重命名集合

使用rename_collection方法

from pymilvus import Collection, FieldSchema, CollectionSchema, DataType, connections, utility
connections.connect(alias="default")
schema = CollectionSchema(fields=[
...     FieldSchema("int64", DataType.INT64, description="int64", is_primary=True),
...     FieldSchema("float_vector", DataType.FLOAT_VECTOR, is_primary=False, dim=128),
... ])
collection = Collection(name="old_collection", schema=schema)
utility.rename_collection("old_collection", "new_collection") # Output: True
utility.drop_collection("new_collection")
utility.has_collection("new_collection") # Output: False

三、修改集合

主要还是修改生存时间

collection.set_properties(properties={"collection.ttl.seconds": 1800})

四、检查集合信息

1.检查集合是否存在

from pymilvus import utility
utility.has_collection("book")

2.检查集合的细节信息

from pymilvus import Collection
collection = Collection("book")  # Get an existing collection.collection.schema                # Return the schema.CollectionSchema of the collection.
collection.description           # Return the description of the collection.
collection.name                  # Return the name of the collection.
collection.is_empty              # Return the boolean value that indicates if the collection is empty.
collection.num_entities          # Return the number of entities in the collection.
collection.primary_field         # Return the schema.FieldSchema of the primary key field.
collection.partitions            # Return the list[Partition] object.
collection.indexes               # Return the list[Index] object.
collection.properties		# Return the expiration time of data in the collection.

3.列出索引的集合

from pymilvus import utility
utility.list_collections()

五、删除集合

from pymilvus import utility
utility.drop_collection("book")

六、集合的别名

1.创建集合的别名
在创建集合时可以,也可以如下:

from pymilvus import utility
utility.create_alias(collection_name = "book",alias = "publication"
)

2.删除别名

from pymilvus import utility
utility.drop_alias(alias = "publication")

3.修改别名

from pymilvus import utility
utility.alter_alias(collection_name = "book",alias = "publication"
)

七、加载集合

1.Milvus 中的所有搜索和查询操作都在内存中执行。
在当前版本中,所有在线查询节点都将根据用户指定的副本数分为多个副本组。所有副本组都应具有最小的内存资源来加载所提供的集合的一个副本。

from pymilvus import Collection, utility# Get an existing collection.
collection = Collection("book")      
collection.load(replica_number=2)# Check the loading progress and loading status
utility.load_state("book")
# Output: <LoadState: Loaded>utility.loading_progress("book")
# Output: {'loading_progress': 100%}

2.获取副本信息

from pymilvus import Collection
collection = Collection("book")      # Get an existing collection.
collection.load(replica_number=2)    # Load collection as 2 replicas
result = collection.get_replicas()
print(result)

八、释放集合
在搜索或查询后释放集合以减少内存使用

from pymilvus import Collection
collection = Collection("book")      # Get an existing collection.
collection.release()
http://www.lryc.cn/news/232651.html

相关文章:

  • 基于SSM的教学管理系统设计与实现
  • 【第2章 Node.js基础】2.7 Node.js 的流(一)可写流
  • 【kerberos】使用 curl 访问受 Kerberos HTTP SPNEGO 保护的 URL
  • 基于SSM的智慧养老平台设计与实现
  • 图像生成colab集合
  • SpringBoot整合Quartz示例
  • 物联网AI MicroPython学习之语法 I2C总线
  • RocketMQ的适用场景有哪些?
  • ubuntu启动转圈,无法进入登录界面
  • MATLAB 机械臂逆运动学进行轨迹控制建模
  • 【计算机组成原理】定点加法、减法运算
  • scp 跨服务器传输命令,把一个服务器上的文件复制传到当前服务器目录下
  • 【python基础】用户输入和while循环详解
  • k8s-部署Redis-cluster(TLS)
  • 计算机毕业设计选题推荐-幼儿园管理微信小程序/安卓APP-项目实战
  • ElasticStack日志分析平台-ES 集群、Kibana与Kafka
  • 微机原理_10
  • (SpringBoot)第八章:SpringMVC程序开发
  • openssl + 3DES开发实例(linux)
  • 遵循开源软件安全路线图
  • 294_C++_
  • 【计算机网络笔记】网络地址转换(NAT)
  • 【flink理论】动态表:关系查询处理流的思路:连续查询、状态维护;表转换为流需要编码编码
  • 2023年09月 Python(六级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • Ubuntu16.04上安装Docker
  • FSOD论文阅读 - 基于卷积和注意力机制的小样本目标检测
  • Windows系统中搭建docker (ubuntu,Docker-desktop)
  • 使用记录-MongoDB
  • 用归并排序算法merge_sort( )求解 逆序对的数量 降低时间复杂度为 nlogn
  • 大功率电源芯片WD5030L