milvus的collection操作

milvus的collection操作

创建collection

python 复制代码
import uuid

from pymilvus import (
    connections,
    FieldSchema, CollectionSchema, DataType,
    Collection,
)

collection_name = "hello_milvus"
host = "192.168.230.71"
port = 19530
username = ""
password = ""
num_entities, dim = 5000, 3

print("start connecting to Milvus")
connections.connect("default", host=host, port=port,user=username,password=password)

fields = [
    FieldSchema(name="pk", dtype=DataType.INT64, is_primary=True, auto_id=False),
    FieldSchema(name="random", dtype=DataType.DOUBLE),
    FieldSchema(name="comment", dtype=DataType.VARCHAR, max_length=200),
    FieldSchema(name="embeddings", dtype=DataType.FLOAT16_VECTOR, dim=dim)
]

schema = CollectionSchema(fields, "hello_milvus is the simplest demo to introduce the APIs")

print("Create collection `hello_world`")
coll = Collection(collection_name, schema, consistency_level="Bounded",shards_num=1)

print("done")

Collection()是一个构造函数,定义如下:

python 复制代码
class Collection:
    def __init__(
        self,
        name: str,
        schema: Optional[CollectionSchema] = None,
        using: str = "default",
        **kwargs,
    ) -> None:

name -- the name of collection

schema -- the schema of collection, defaults to None.

using -- Milvus connection alias name, defaults to 'default'.

**kwargs - 告诉python接受任意数量的关键字参数到这个字典中。

那milvus这里有哪些key?

看注释。

删除collection

python 复制代码
coll.drop()

函数定义:

python 复制代码
def drop(self, timeout: Optional[float] = None, **kwargs):

有一个timeout参数。

加载collection

功能:加载collection到内存。

python 复制代码
coll.load()

函数定义:

python 复制代码
def load(
        self,
        partition_names: Optional[list] = None,
        replica_number: int = 1,
        timeout: Optional[float] = None,
        **kwargs,
    )

参数说明:

python 复制代码
coll.load() #阻塞
coll.load(_async=True) #非阻塞
utility.wait_for_loading_complete("hello_iterator")

释放collection

从内存中卸载。

python 复制代码
coll.release()

描述collection

获取collection的信息

python 复制代码
infos = coll.describe()
for key, value in infos.items():
    print(key, value)
相关推荐
Bruce_Liuxiaowei3 分钟前
利用Python在Win10环境下实现拨号上网
开发语言·python·win10·拨号
蔚一6 分钟前
Java设计模式—面向对象设计原则(六) ----->合成复用原则(CRP) (完整详解,附有代码+案例)
xml·java·开发语言·设计模式·intellij-idea·合成复用原则
一 乐10 分钟前
点餐|基于java的电子点餐系统小程序(源码+数据库+文档)
java·开发语言·前端·数据库·小程序·论文
她似晚风般温柔78914 分钟前
Uniapp + Vue3 + Vite +Uview + Pinia 实现购物车功能(最新附源码保姆级)
开发语言·javascript·uni-app
◎菜澜子16 分钟前
pycharm从VCS获取项目报错unable to access:Recv failure:Connection was reset
ide·python·pycharm
Filotimo_19 分钟前
使用 Anaconda 环境在Jupyter和PyCharm 中进行开发
ide·经验分享·笔记·python·学习·jupyter·pycharm
黑金IT35 分钟前
WebSocket vs. Server-Sent Events:选择最适合你的实时数据流技术
网络·python·websocket·网络协议·fastapi
Amo Xiang36 分钟前
Python 常用模块(二):json模块
开发语言·python·json
cxylay37 分钟前
【python版】示波器输出的csv文件(时间与电压数据)如何转换为频率与幅值【方法③】
开发语言·python·示波器·频谱·csv文件·时域·频域
spiritualfood41 分钟前
联合体与枚举以及结构体补充
c语言·开发语言·c++·算法·青少年编程