Skip to content

feat(pages): semantic + full-text search for questions page#60

Merged
gregagi merged 1 commit into
mainfrom
task/6g4vMRRwf63M7pGv
Feb 25, 2026
Merged

feat(pages): semantic + full-text search for questions page#60
gregagi merged 1 commit into
mainfrom
task/6g4vMRRwf63M7pGv

Conversation

@gregagi

@gregagi gregagi commented Feb 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • add hybrid search to the public questions page (/questions?q=...)
  • mix lexical (title/body full-text) and semantic (Qdrant vector) relevance into a combined score
  • keep robust fallback behavior: if semantic search is unavailable, use lexical-only ranking
  • retain query param through pagination links and expose search_query in view context
  • add reusable semantic question search helper in vector indexing module
    • tries Qdrant /points/query first, falls back to /points/search for compatibility
  • add pages tests for query context, hybrid ordering (mocked semantic hits), and template pagination query preservation
  • update changelog

Testing

  • DJANGO_READ_DOT_ENV=0 ENVIRONMENT=test SECRET_KEY=test DEBUG=1 SITE_URL=http://testserver uv run pytest apps/pages/tests.py -q
  • DJANGO_READ_DOT_ENV=0 ENVIRONMENT=test SECRET_KEY=test DEBUG=1 SITE_URL=http://testserver uv run pytest apps/api/tests.py -q
  • DJANGO_READ_DOT_ENV=0 ENVIRONMENT=test SECRET_KEY=test DEBUG=1 SITE_URL=http://testserver uv run ruff check apps/api/vector_indexing.py apps/pages/views.py apps/pages/tests.py
@gregagi gregagi merged commit 9874560 into main Feb 25, 2026
@gregagi gregagi deleted the task/6g4vMRRwf63M7pGv branch February 25, 2026 04:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant