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()是一个构造函数,定义如下:
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?
看注释。
coll.drop()
函数定义:
def drop(self, timeout: Optional[float] = None, **kwargs):
有一个timeout参数。
功能:加载collection到内存。
coll.load()
函数定义:
def load( self, partition_names: Optional[list] = None, replica_number: int = 1, timeout: Optional[float] = None, **kwargs, )
参数说明:
coll.load() #阻塞 coll.load(_async=True) #非阻塞 utility.wait_for_loading_complete("hello_iterator")
从内存中卸载。
coll.release()
获取collection的信息
infos = coll.describe() for key, value in infos.items(): print(key, value)