Skip to main content

Overview

The Collections service provides gRPC methods for managing collection lifecycle, configuration, and cluster operations.

Service Definition

From collections_service.proto:8-41:

Create Collection

Create a new collection with vector configuration:

Python Example

Go Example

Rust Example

Named Vectors

Create collections with multiple named vectors:

Vector Parameters

From collections.proto:20-38:

Distance Functions

From collections.proto:137-143:

Get Collection Info

List Collections

Update Collection

Modify collection configuration:

Delete Collection

Collection Aliases

Manage collection aliases for zero-downtime updates:

HNSW Configuration

From collections.proto:202-231:

HNSW Tuning Example

Quantization

Enable vector quantization to reduce memory usage:

Scalar Quantization

Product Quantization

Sharding

Configure sharding for distributed collections:

Custom Shard Keys

Collection Status

From collections.proto:145-155:

Cluster Operations

Get cluster information for a collection:

Collection Exists

Best Practices

Performance Tips:
  • Use on_disk_payload=True for large payloads to save memory
  • Enable quantization for >100M vectors to reduce memory 4-16x
  • Set shard_number to number of nodes for distributed setup
  • Use replication_factor=2 or higher for production
Configuration Immutability:
  • Vector size and distance function cannot be changed after creation
  • To change these, create a new collection and migrate data
  • HNSW and optimizer configs can be updated on existing collections

Next Steps

Points Service

Learn about point operations

Python Client

Python client documentation