Partition Management
Partitions allow you to organize data within a collection for better performance and management. This guide covers all partition operations.
Creating Partitions
Section titled “Creating Partitions”Create a new partition:
await client.createPartition({ collection_name: 'my_collection', partition_name: 'partition_1',});Checking Partition Existence
Section titled “Checking Partition Existence”Check if a partition exists:
const exists = await client.hasPartition({ collection_name: 'my_collection', partition_name: 'partition_1',});
console.log('Partition exists:', exists.value);Listing Partitions
Section titled “Listing Partitions”List all partitions in a collection:
const result = await client.listPartitions({ collection_name: 'my_collection',});
console.log('Partitions:', result.partition_names);// Output: ['_default', 'partition_1', 'partition_2']Partition Statistics
Section titled “Partition Statistics”Get statistics for a partition:
const stats = await client.getPartitionStatistics({ collection_name: 'my_collection', partition_name: 'partition_1',});
console.log('Row count:', stats.row_count);console.log('Statistics:', stats.stats);Partition Loading
Section titled “Partition Loading”Load Partitions
Section titled “Load Partitions”Load partitions into memory:
// Asynchronous loadawait client.loadPartitions({ collection_name: 'my_collection', partition_names: ['partition_1', 'partition_2'],});
// Synchronous load (waits until loaded)await client.loadPartitionsSync({ collection_name: 'my_collection', partition_names: ['partition_1', 'partition_2'],});Release Partitions
Section titled “Release Partitions”Release partitions from memory:
await client.releasePartitions({ collection_name: 'my_collection', partition_names: ['partition_1', 'partition_2'],});Dropping Partitions
Section titled “Dropping Partitions”Drop a partition (this permanently deletes all data in the partition):
await client.dropPartition({ collection_name: 'my_collection', partition_name: 'partition_1',});Working with Partitions
Section titled “Working with Partitions”Inserting Data into Partitions
Section titled “Inserting Data into Partitions”Insert data into a specific partition:
await client.insert({ collection_name: 'my_collection', partition_name: 'partition_1', data: [ { vector: [/* ... */], text: 'data for partition 1', }, ],});Querying Partitions
Section titled “Querying Partitions”Query data from specific partitions:
const results = await client.query({ collection_name: 'my_collection', expr: 'id > 100', partition_names: ['partition_1'], output_fields: ['vector', 'text'],});Searching Partitions
Section titled “Searching Partitions”Search within specific partitions:
const results = await client.search({ collection_name: 'my_collection', data: [/* vector */], partition_names: ['partition_1', 'partition_2'], limit: 10,});Default Partition
Section titled “Default Partition”Every collection has a default partition named _default. Data inserted without specifying a partition goes to the default partition:
// Data goes to _default partitionawait client.insert({ collection_name: 'my_collection', data: [/* ... */],});
// Explicitly specify partitionawait client.insert({ collection_name: 'my_collection', partition_name: 'partition_1', data: [/* ... */],});Partition Best Practices
Section titled “Partition Best Practices”- Use partitions for data organization: Organize data by time, category, or region
- Load only needed partitions: Load only the partitions you need to query
- Partition naming: Use descriptive names that reflect the partition’s purpose
- Default partition: Use the default partition for general data
- Partition size: Keep partitions at reasonable sizes for optimal performance
Next Steps
Section titled “Next Steps”- Learn about Collection Management
- Explore Data Operations
- Check out Best Practices