INNER CODE UNIT · Python
_build_bm25_startup_indexes
skygazer42/MimirQ · app/main.py:342
def _build_bm25_startup_indexes() -> None:
skip_message = _bm25_startup_skip_message()
if skip_message is not None:
logger.info(skip_message)
return
logger.info("Initializing BM25 index (startup build)...")
from sqlalchemy import func
from app.rag.retriever import hybrid_retriever
db = SessionLocal()
try:
max_chunks = int(getattr(settings, "BM25_STARTUP_BUILD_MAX_CHUNKS", 0) or 0)
total_chunks = (
db.query(func.count(DocumentChunk.id))
.join(DBDocument)
.filter(DBDocument.status == "completed")