Questa pagina spiega come memorizzare i vettori in hash. Gli hash forniscono un modo efficiente per archiviare i vettori in Memorystore for Valkey.
Serializzazione dei dati
Prima di archiviare i vettori in un tipo di dati hash, questi devono essere convertiti in un formato comprensibile da Memorystore per Valkey. Richiede la serializzazione dei vettori in blob binari la cui dimensione è uguale alla dimensione in byte del tipo di dati (ad es. 4 per FLOAT32) moltiplicato per il numero di dimensioni del vettore. Una scelta popolare per i vettori numerici è la libreria NumPy di Python:
Connettiti a Memorystore for Valkey
Prima di memorizzare il vettore in un hash, stabilisci una connessione all'istanza Memorystore for Valkey utilizzando un client OSS Redis compatibile come redis-py:
Memorizza il vettore in un hash
Gli hash sono come i dizionari, con coppie chiave-valore. Utilizza il comando HSET
per archiviare il vettore serializzato:
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
- Per un'indicizzazione corretta, i dati vettoriali devono rispettare le dimensioni e il tipo di dati impostati nello schema dell'indice.
Indici di backfill
Gli indici di backfill possono verificarsi in uno dei seguenti scenari:
- Una volta creato un indice, la procedura di backfill esegue la scansione dello spazio chiavi per individuare le voci che soddisfano i criteri di filtro dell'indice.
- Gli indici di vettori e i relativi dati vengono mantenuti nelle istantanee RDB. Quando viene caricato un file RDB, viene attivata una procedura di backfill automatico dell'indice. Questo processo rileva e integra attivamente le voci nuove o modificate nell'indice dal momento della creazione dello snapshot RDB, mantenendo l'integrità dell'indice e garantendo risultati aggiornati.