python项目milvus查询
时间: 2024-12-31 14:37:02 浏览: 18
### 使用 Milvus 执行查询操作
为了在 Python 项目中使用 Milvus 进行查询,需先确保已安装 `pymilvus` 库。对于 Python 版本的要求是在 3.8 或更高版本之间[^1]。
```bash
pip install pymilvus
```
连接到 Milvus 数据库并创建集合:
```python
from pymilvus import connections, FieldSchema, CollectionSchema, DataType, Collection
connections.connect("default", host="localhost", port="19530")
fields = [
FieldSchema(name="id", dtype=DataType.INT64, is_primary=True),
FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128)
]
schema = CollectionSchema(fields)
collection_name = "example_collection"
milvus_collection = Collection(name=collection_name, schema=schema)
```
插入数据至集合内以便后续测试查询功能:
```python
import random
ids = [i for i in range(10)]
embeddings = [[random.random() for _ in range(128)] for _ in ids]
insert_result = milvus_collection.insert([ids, embeddings])
print(f"Inserted {len(insert_result.primary_keys)} records.")
```
执行向量相似度搜索:
```python
search_params = {"metric_type": "L2", "params": {"nprobe": 10}}
results = milvus_collection.search(
data=[[random.random() for _ in range(128)]],
anns_field="embedding",
param=search_params,
limit=5
)
for result in results:
print(result.ids)
```
针对特定条件的字符串查询需要注意表达式的格式,在构建此类查询语句时应确保字符串被单引号包围以防止解析错误的发生[^3]。
```python
expr = 'id == \'1\''
result = milvus_collection.query(expr=expr)
print(result)
```
阅读全文