# Milvus Client Libraries

> Official SDK and client libraries for Milvus vector database supporting Python, Java, Go, Node.js, and other languages. Provides simple and intuitive APIs for vector operations, search, and data management across platforms.

- **URL:** https://milvus.io/docs/install-pymilvus.md
- **Category:** SDKs & Libraries
- **Tags:** Sdk, multi-language, Milvus
- **Updated:** 2026-03-15 12:39
- **Canonical page:** https://vectordb.ever.works/items/milvus-client-libraries

## Details

## Overview

Milvus provides official client libraries in multiple programming languages, enabling developers to interact with Milvus vector database using simple and intuitive APIs. The SDKs support all Milvus features including vector search, data management, and collection operations.

## Supported Languages

### Official SDKs
- **PyMilvus** (Python): Most feature-complete, primary reference implementation
- **Java SDK**: Full-featured for JVM applications
- **Go SDK**: Native Go implementation
- **Node.js SDK**: JavaScript/TypeScript support

### Community SDKs
- C# / .NET
- Rust
- PHP
- Ruby

## PyMilvus (Python SDK)

### Installation
```bash
pip install pymilvus
```

### Key Features
- Full API coverage of Milvus functionality
- Async/await support
- Connection pooling
- Automatic retry and error handling
- Type hints for better IDE support
- Comprehensive documentation

### Example Usage
```python
from pymilvus import connections, Collection

# Connect
connections.connect("default", host="localhost", port="19530")

# Create collection
collection = Collection("my_collection")

# Insert vectors
collection.insert(data)

# Search
results = collection.search(
    data=query_vectors,
    anns_field="embedding",
    param={"metric_type": "L2", "params": {"nprobe": 10}},
    limit=10
)
```

## Java SDK

### Maven Dependency
```xml
<dependency>
    <groupId>io.milvus</groupId>
    <artifactId>milvus-sdk-java</artifactId>
    <version>2.x.x</version>
</dependency>
```

### Features
- Thread-safe client
- Connection management
- Batch operations
- Integration with Spring Boot

## Go SDK

### Installation
```bash
go get github.com/milvus-io/milvus-sdk-go/v2
```

### Features
- Native Go implementation
- Context support
- gRPC-based communication
- High performance

## Node.js SDK

### Installation
```bash
npm install @zilliz/milvus2-sdk-node
```

### Features
- Promise-based API
- TypeScript definitions
- Browser and Node.js support
- Modern JavaScript patterns

## Common Functionality

All SDKs support:

### Connection Management
- Connect to Milvus server
- Authentication
- TLS/SSL support
- Connection pooling

### Collection Operations
- Create/drop collections
- Define schema and indexes
- Load/release collections
- Collection statistics

### Data Operations
- Insert vectors and metadata
- Delete by IDs or expressions
- Update (via delete + insert)
- Bulk operations

### Search Operations
- Vector similarity search
- Filtered search with expressions
- Hybrid search
- Range search
- Multi-vector search

### Index Management
- Create various index types (IVF, HNSW, etc.)
- Drop indexes
- Index parameters tuning

## Advanced Features

### Partitions
- Create and manage partitions
- Partition-specific operations
- Multi-partition queries

### Aliases
- Collection aliasing
- Zero-downtime updates

### Database Operations
- Multi-database support
- Database-level isolation

## Best Practices

1. **Connection Reuse**: Maintain persistent connections
2. **Batch Operations**: Use batch insert for large datasets
3. **Error Handling**: Implement proper retry logic
4. **Resource Management**: Release collections when not in use
5. **Parameter Tuning**: Adjust search parameters based on requirements

## Performance Optimization

- Use bulk operations for inserts
- Tune index parameters (nlist, nprobe, M, efConstruction)
- Implement connection pooling
- Use appropriate consistency levels
- Enable batch mode for high throughput

## Documentation and Support

- Official docs: milvus.io/docs
- API reference for each language
- Code examples and tutorials
- Community forum and GitHub issues

## Version Compatibility

SDK versions should match Milvus server major version:
- SDK 2.x works with Milvus 2.x
- Check compatibility matrix in documentation

## Pricing

Free and open-source under Apache 2.0 license.

---

_This Markdown mirror is generated by Ever Works for AI agents. The canonical HTML page is at https://vectordb.ever.works/items/milvus-client-libraries._
