ā Back to File Tree
add_qdrant_indexes.py
Language: python |
Path: scripts/add_qdrant_indexes.py |
Lines: 123
#!/usr/bin/env python3
"""Add field indexes to existing Qdrant collections."""
import sys
from pathlib import Path
# Add backend to path
backend_path = Path(__file__).parent.parent / "backend"
sys.path.insert(0, str(backend_path))
from src.core.user_memory import get_user_memory_store
from src.core.logging import setup_logging, get_logger
setup_logging()
logger = get_logger(__name__)
def add_indexes():
"""Add field indexes to existing collections."""
print("\n" + "="*60)
print(" Adding Field Indexes to Qdrant Collections")
print("="*60)
try:
memory_store = get_user_memory_store()
client = memory_store.client
# Add indexes to users collection
print("\nš Adding indexes to 'users' collection...")
try:
client.create_payload_index(
collection_name="users",
field_name="email",
field_schema="keyword",
)
print(" ā
Created index on 'email' field")
except Exception as e:
if "already exists" in str(e).lower():
print(" ā ļø Index on 'email' already exists")
else:
raise
try:
client.create_payload_index(
collection_name="users",
field_name="user_id",
field_schema="keyword",
)
print(" ā
Created index on 'user_id' field")
except Exception as e:
if "already exists" in str(e).lower():
print(" ā ļø Index on 'user_id' already exists")
else:
raise
# Add indexes to user_queries collection
print("\nš Adding indexes to 'user_queries' collection...")
try:
client.create_payload_index(
collection_name="user_queries",
field_name="user_id",
field_schema="keyword",
)
print(" ā
Created index on 'user_id' field")
except Exception as e:
if "already exists" in str(e).lower():
print(" ā ļø Index on 'user_id' already exists")
else:
raise
try:
client.create_payload_index(
collection_name="user_queries",
field_name="query_id",
field_schema="keyword",
)
print(" ā
Created index on 'query_id' field")
except Exception as e:
if "already exists" in str(e).lower():
print(" ā ļø Index on 'query_id' already exists")
else:
raise
# Add indexes to user_feedback collection
print("\nš Adding indexes to 'user_feedback' collection...")
try:
client.create_payload_index(
collection_name="user_feedback",
field_name="user_id",
field_schema="keyword",
)
print(" ā
Created index on 'user_id' field")
except Exception as e:
if "already exists" in str(e).lower():
print(" ā ļø Index on 'user_id' already exists")
else:
raise
try:
client.create_payload_index(
collection_name="user_feedback",
field_name="feedback_id",
field_schema="keyword",
)
print(" ā
Created index on 'feedback_id' field")
except Exception as e:
if "already exists" in str(e).lower():
print(" ā ļø Index on 'feedback_id' already exists")
else:
raise
print("\nā
All indexes added successfully!")
print("\n" + "="*60 + "\n")
except Exception as e:
print(f"\nā Error: {e}")
logger.error("index_creation_error", error=str(e))
import traceback
traceback.print_exc()
sys.exit(1)
if __name__ == "__main__":
add_indexes()