En esta página, se explica cómo almacenar vectores en hashes. Los hash proporcionan una forma eficiente de almacenar vectores en Memorystore para Valkey.
Serialización de datos
Antes de almacenar vectores en un tipo de datos de hash, los vectores deben convertirse a un formato que comprenda Memorystore para Valkey. Requiere la serialización de vectores en objetos blob binarios cuyo tamaño sea igual al tamaño de bytes del tipo de datos (p.ej., 4 para FLOAT32) multiplicado por la cantidad de dimensiones del vector. Una opción popular para los vectores numéricos es la biblioteca NumPy de Python:
Conéctate a Memorystore para Valkey
Antes de almacenar el vector en un hash, establece una conexión con tu instancia de Memorystore para Valkey con un cliente compatible con Redis OSS, como redis-py:
Almacena el vector en un hash
Los hash son como diccionarios, con pares clave-valor. Usa el comando HSET
para almacenar tu vector serializado:
import numpy as np import redis # Sample vector vector = np.array([1.2, 3.5, -0.8], dtype=np.float32) # 3-dimensional vector # Serialize to a binary blob serialized_vector = vector.tobytes() redis_client = redis.cluster.RedisCluster(host='your_server_host', port=6379) redis_client.hset('vector_storage', 'vector_key', serialized_vector) # 'vector_key' is a unique identifier
- Para que la indexación se realice correctamente, tus datos de vectores deben cumplir con las dimensiones y el tipo de datos establecidos en el esquema del índice.
Reabastecimiento de índices
Los índices de reabastecimiento pueden ocurrir en una de las siguientes situaciones:
- Una vez que se crea un índice, el procedimiento de reabastecimiento analiza el espacio de claves en busca de entradas que cumplan con los criterios del filtro de índice.
- Los índices vectoriales y sus datos se conservan en las instantáneas de la RDB. Cuando se carga un archivo RDB, se activa un proceso de reabastecimiento automático del índice. Este proceso detecta e integra de forma activa las entradas nuevas o modificadas en el índice desde que se creó la instantánea de la RDB, lo que mantiene la integridad del índice y garantiza los resultados actuales.