from app.database import SessionLocal
from app.services import search_service as ss
from app.models.article import Article, ArticleSectionIndex

db = SessionLocal()
titles = dict(db.query(Article.id, Article.title).all())
q = "antifungal taken by mouth for weeks with fatty food"
pool = max(ss.MIN_POOL, 20 * ss.POOL_MULTIPLIER)
for kind in ("article", "article_section"):
    lex = ss._lexical_ranked(db, q, pool, kind)
    sem = ss._semantic_ranked(db, q, pool, kind)
    def nm(i):
        if kind == "article": return titles.get(i)
        r = db.get(ArticleSectionIndex, i); return f"{titles.get(r.article_id)}/{r.title}"
    print(f"{kind}: lexical {len(lex)} -> {[nm(i) for i in lex[:5]]}")
    print(f"{kind}: semantic {len(sem)} -> {[nm(i) for i in sem[:5]]}")
db.close()
