If you’ve previously created an encrypted index, you can connect to it to add, query or delete data from it. You will need to know the index’s name as well as its key to do so:
Copy
Ask AI
# Import cyborgdb_core or cyborgdb_lite:import cyborgdb_core as cyborgdbimport cyborgdb_lite as cyborgdb# Using `memory` storage for this exampleindex_location = cyborgdb.DBConfig("memory") config_location = cyborgdb.DBConfig("memory")# Get your API keyapi_key = "your_api_key_here" # Replace with your actual API key# Create a clientclient = cyborgdb.Client(api_key, index_location, config_location)# Provide the index key used when creating the index# Example key (32 bytes)index_key = bytes(32)# Create an encrypted indexindex = client.load_index("my_index", index_key)
This creates a new encrypted index with the IVFFlat type. For more details on IVFFlat and other index options, see Configure an Encrypted Index.
You will need to replace index_key with your own index encryption key.
For production use, we recommend that you use an HSM or KMS solution.
For more details, see Managing Encryption Keys.
For improved query performance, you can enable encrypted index caching by setting a max_cache_size:
Copy
Ask AI
# Import cyborgdb_core or cyborgdb_lite:import cyborgdb_core as cyborgdbimport cyborgdb_lite as cyborgdbimport secrets# Using `memory` storage for this exampleindex_location = cyborgdb.DBConfig("memory") config_location = cyborgdb.DBConfig("memory")# Get your API keyapi_key = "your_api_key_here" # Replace with your actual API key# Create a clientclient = cyborgdb.Client(api_key, index_location, config_location)# Generate an encryption key for the indexindex_key = secrets.token_bytes(32)# Set max cache size at 1MBmax_cache_size = 1000000# Create an encrypted indexindex = client.load_index("my_index", index_key, max_cache_size)