Expand description
Key encoding for vector storage.
This module provides key encoding for vector embeddings in storage backends. Keys are designed to support efficient prefix-based range scans.
§Key Prefixes
§Embedding spaces (entity-based)
0x10- Embedding space metadata:[0x10][space_name_hash]0x11- Entity embedding:[0x11][space_name_hash][entity_id]0x12- Sparse embedding space metadata:[0x12][space_name_hash]0x13- Sparse entity embedding:[0x13][space_name_hash][entity_id]0x14- Multi-vector space metadata:[0x14][space_name_hash]0x15- Multi-vector embedding:[0x15][space_name_hash][entity_id]
§Point collections (Qdrant-style)
0x20- Collection metadata:[0x20][collection_name_hash]0x21- Point payload:[0x21][collection_name_hash][point_id]0x22- Dense vector:[0x22][collection_name_hash][point_id][vector_name_hash]0x23- Sparse vector:[0x23][collection_name_hash][point_id][vector_name_hash]0x24- Multi-vector:[0x24][collection_name_hash][point_id][vector_name_hash]
§Inverted index (sparse vector index)
0x30- Posting list:[0x30][collection_hash][vector_name_hash][token_id]0x31- Index metadata:[0x31][collection_hash][vector_name_hash]0x32- Point tokens:[0x32][collection_hash][vector_name_hash][point_id]
§Collection vectors (entity-to-vector mapping)
0x40- Collection vector:[0x40][collection_id][entity_id][vector_name_hash]
All numeric values are encoded in big-endian format to preserve sort order.
Structs§
- Collection
Key - A decoded collection key.
- Collection
Vector Key - A decoded collection vector key.
- Dense
Vector Key - A decoded dense vector key.
- Embedding
Key - A decoded embedding key.
- Inverted
Meta Key - A decoded inverted meta key.
- Multi
Vector Key - A decoded multi-vector key.
- Point
Payload Key - A decoded point payload key.
- Point
Tokens Key - A decoded point tokens key.
- Posting
Key - A decoded posting key.
- Sparse
Embedding Key - A decoded sparse embedding key.
- Sparse
Vector Key - A decoded sparse vector key.
Constants§
- PREFIX_
COLLECTION - Key prefix for collection metadata.
- PREFIX_
COLLECTION_ VECTOR - Key prefix for collection vectors.
- PREFIX_
EMBEDDING - Key prefix for entity embeddings.
- PREFIX_
EMBEDDING_ SPACE - Key prefix for embedding space metadata.
- PREFIX_
INVERTED_ META - Key prefix for inverted index metadata.
- PREFIX_
MULTI_ VECTOR - Key prefix for multi-vector entity embeddings.
- PREFIX_
MULTI_ VECTOR_ SPACE - Key prefix for multi-vector embedding space metadata.
- PREFIX_
POINT_ DENSE_ VECTOR - Key prefix for dense vectors.
- PREFIX_
POINT_ MULTI_ VECTOR - Key prefix for multi-vectors.
- PREFIX_
POINT_ PAYLOAD - Key prefix for point payloads.
- PREFIX_
POINT_ SPARSE_ VECTOR - Key prefix for sparse vectors.
- PREFIX_
POINT_ TOKENS - Key prefix for point-to-tokens reverse mapping.
- PREFIX_
POSTING - Key prefix for posting lists.
- PREFIX_
SPARSE_ EMBEDDING - Key prefix for sparse entity embeddings.
- PREFIX_
SPARSE_ EMBEDDING_ SPACE - Key prefix for sparse embedding space metadata.
Functions§
- decode_
collection_ key - Decode a collection key.
- decode_
collection_ vector_ entity_ id - Decode the entity ID from a collection vector key.
- decode_
collection_ vector_ key - Decode a collection vector key.
- decode_
dense_ vector_ key - Decode a dense vector key.
- decode_
embedding_ entity_ id - Decode an entity ID from an embedding key.
- decode_
embedding_ key - Decode an embedding key.
- decode_
embedding_ space_ key - Decode an embedding space name hash from a space key.
- decode_
inverted_ meta_ key - Decode an inverted meta key.
- decode_
multi_ vector_ key - Decode a multi-vector key.
- decode_
point_ payload_ key - Decode a point payload key.
- decode_
point_ payload_ point_ id - Decode just the point ID from a point payload key.
- decode_
point_ tokens_ key - Decode a point tokens key.
- decode_
posting_ key - Decode a posting key.
- decode_
sparse_ embedding_ entity_ id - Decode an entity ID from a sparse embedding key.
- decode_
sparse_ embedding_ key - Decode a sparse embedding key.
- decode_
sparse_ embedding_ space_ key - Decode a sparse embedding space name hash from a space key.
- decode_
sparse_ vector_ key - Decode a sparse vector key.
- encode_
collection_ key - Encode a key for collection metadata.
- encode_
collection_ prefix - Encode a prefix for scanning all collections.
- encode_
collection_ vector_ key - Encode a key for a collection vector.
- encode_
collection_ vector_ prefix - Encode a prefix for all vectors in a collection.
- encode_
dense_ vector_ collection_ prefix - Encode a prefix for scanning all dense vectors in a collection.
- encode_
dense_ vector_ key - Encode a key for a point’s dense vector.
- encode_
dense_ vector_ point_ prefix - Encode a prefix for scanning all dense vectors for a point.
- encode_
embedding_ key - Encode a key for an entity’s embedding in a space.
- encode_
embedding_ prefix - Encode a prefix for scanning all embeddings in a space.
- encode_
embedding_ space_ key - Encode a key for embedding space metadata.
- encode_
entity_ vector_ prefix - Encode a prefix for all vectors of an entity within a collection.
- encode_
inverted_ meta_ collection_ prefix - Encode a prefix for scanning all inverted indexes in a collection.
- encode_
inverted_ meta_ key - Encode a key for inverted index metadata.
- encode_
multi_ vector_ collection_ prefix - Encode a prefix for scanning all multi-vectors in a collection.
- encode_
multi_ vector_ key - Encode a key for a point’s multi-vector.
- encode_
multi_ vector_ point_ prefix - Encode a prefix for scanning all multi-vectors for a point.
- encode_
point_ payload_ key - Encode a key for a point’s payload.
- encode_
point_ payload_ prefix - Encode a prefix for scanning all points in a collection.
- encode_
point_ tokens_ collection_ prefix - Encode a prefix for scanning all point tokens in a collection.
- encode_
point_ tokens_ key - Encode a key for point-to-tokens reverse mapping.
- encode_
point_ tokens_ prefix - Encode a prefix for scanning all point tokens for a vector.
- encode_
posting_ collection_ prefix - Encode a prefix for scanning all posting lists in a collection.
- encode_
posting_ key - Encode a key for a posting list entry.
- encode_
posting_ prefix - Encode a prefix for scanning all posting lists for a vector.
- encode_
sparse_ embedding_ key - Encode a key for an entity’s sparse embedding in a space.
- encode_
sparse_ embedding_ prefix - Encode a prefix for scanning all sparse embeddings in a space.
- encode_
sparse_ embedding_ space_ key - Encode a key for sparse embedding space metadata.
- encode_
sparse_ vector_ collection_ prefix - Encode a prefix for scanning all sparse vectors in a collection.
- encode_
sparse_ vector_ key - Encode a key for a point’s sparse vector.
- encode_
sparse_ vector_ point_ prefix - Encode a prefix for scanning all sparse vectors for a point.
- hash_
name - Compute a hash for an embedding name.