Skip to content

Commit 8a7d80f

Browse files
authored
enhance: [2.5] add example code for create_collection, drop_collection, load_collection, release_collection, create_index, drop_index, create_partition, drop_partition, load_partition and release_partition (#2535)
Signed-off-by: Ruichen Bao <[email protected]>
1 parent 088e73b commit 8a7d80f

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed

examples/simple_async2.py

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
from pymilvus import (
2+
DataType,
3+
MilvusClient,
4+
AsyncMilvusClient,
5+
)
6+
import numpy as np
7+
import asyncio
8+
9+
num_entities, dim = 10000, 128
10+
nq, default_limit = 2, 3
11+
collection_name = "hello_milvus"
12+
partition_name = "p1"
13+
index_field_name = "vector"
14+
rng = np.random.default_rng(seed=19530)
15+
output_fields = ["id"]
16+
uri = "http://localhost:19530"
17+
18+
milvus_client = MilvusClient(uri=uri)
19+
async_milvus_client = AsyncMilvusClient(uri=uri)
20+
21+
loop = asyncio.get_event_loop()
22+
23+
# create collection, partition, index
24+
print("Start dropping all collection")
25+
for c in milvus_client.list_collections():
26+
loop.run_until_complete(async_milvus_client.drop_collection(c))
27+
print("Dropping collection done")
28+
print("Start creating collection")
29+
schema = async_milvus_client.create_schema(auto_id=False)
30+
schema.add_field("id", DataType.INT64, is_primary=True)
31+
schema.add_field("vector", DataType.FLOAT_VECTOR, dim=dim)
32+
loop.run_until_complete(async_milvus_client.create_collection(collection_name, schema=schema, consistency_level="Strong"))
33+
print("Creating collection done")
34+
print("Start creating partition")
35+
loop.run_until_complete(async_milvus_client.create_partition(collection_name, partition_name=partition_name))
36+
print("Creating partition done")
37+
print("Start creating index")
38+
index_params = milvus_client.prepare_index_params()
39+
index_params.add_index(field_name=index_field_name, index_type="HNSW", metric_type="COSINE", M=30, efConstruction=200)
40+
loop.run_until_complete(async_milvus_client.create_index(collection_name, index_params))
41+
print("Creating index done")
42+
43+
print(f"all collections: {milvus_client.list_collections()}")
44+
print(f"schema of collection {collection_name}:", milvus_client.describe_collection(collection_name))
45+
print(f"load state of collection {collection_name}:", milvus_client.get_load_state(collection_name, ""))
46+
print(f"has partition p1:", milvus_client.has_partition(collection_name, partition_name))
47+
print(f"load state of partition p1:", milvus_client.get_load_state(collection_name, partition_name))
48+
print(f"describe index {index_field_name}:", milvus_client.describe_index(collection_name, index_field_name))
49+
50+
# load collecton, partition
51+
loop.run_until_complete(async_milvus_client.load_partitions(collection_name, partition_name))
52+
loop.run_until_complete(async_milvus_client.load_collection(collection_name))
53+
54+
print("Loading collecton, partition done")
55+
print(f"load state of collection {collection_name}:", milvus_client.get_load_state(collection_name, ""))
56+
print(f"load state of partition p1:", milvus_client.get_load_state(collection_name, partition_name))
57+
58+
# release collection, partition
59+
loop.run_until_complete(async_milvus_client.release_partitions(collection_name, partition_name))
60+
loop.run_until_complete(async_milvus_client.release_collection(collection_name))
61+
62+
print("Releasing collecton, partition done")
63+
print(f"load state of collection {collection_name}:", milvus_client.get_load_state(collection_name, ""))
64+
print(f"load state of partition p1:", milvus_client.get_load_state(collection_name, partition_name))
65+
66+
# drop collection, partition, index
67+
loop.run_until_complete(async_milvus_client.drop_partition(collection_name, partition_name))
68+
print("Dropping partition done")
69+
print(f"has partition p1:", milvus_client.has_partition(collection_name, partition_name))
70+
loop.run_until_complete(async_milvus_client.drop_index(collection_name, index_field_name))
71+
print("Dropping index done")
72+
print(f"describe index {index_field_name}:", milvus_client.describe_index(collection_name, index_field_name))
73+
loop.run_until_complete(async_milvus_client.drop_collection(collection_name))
74+
print("Dropping collection done")
75+
print(f"all collections: {milvus_client.list_collections()}")

0 commit comments

Comments
 (0)