IndraneelKumar
Initial search engine commit
266d7bc
import asyncio
from src.infrastructure.qdrant.qdrant_vectorstore import AsyncQdrantVectorStore
from src.utils.logger_util import setup_logging
logger = setup_logging()
async def main() -> None:
"""Create necessary indexes for the Qdrant vector store.
Initializes an AsyncQdrantVectorStore and creates HNSW, title, article authors,
feed author, and feed name indexes. Logs errors and ensures proper execution.
Args:
None
Returns:
None
Raises:
RuntimeError: If an error occurs during index creation.
Exception: For unexpected errors during execution.
"""
logger.info("Creating Qdrant indexes")
try:
vectorstore = AsyncQdrantVectorStore()
await vectorstore.enable_hnsw()
await vectorstore.create_title_index()
await vectorstore.create_article_authors_index()
await vectorstore.create_feed_author_index()
await vectorstore.create_article_feed_name_index()
logger.info("Qdrant indexes created successfully")
except RuntimeError as e:
logger.error(f"Failed to create Qdrant indexes: {e}")
raise RuntimeError("Error creating Qdrant indexes") from e
except Exception as e:
logger.error(f"Unexpected error creating Qdrant indexes: {e}")
raise
if __name__ == "__main__":
asyncio.run(main())