Repository navigation
Releases: MugdhoAI/search-engine
Release list
Search Engine v0.2.0
v0.2.0
This release adds optional Gemini-powered query assistance and improves reliability when the Gemini API is temporarily unavailable.
What's changed
- Gemini query assistance: Added optional query rewriting for plain text searches. The search engine still handles retrieval and ranking locally.
- Retry handling: Added retries for temporary Gemini API errors (HTTP 429 and 503), with backoff between attempts.
- Graceful fallback: Search remains usable when Gemini assistance fails or is unavailable.
- Documentation: Updated the README to make the live demo easier to find and clarify the project's features and limitations.
Notes
- Gemini assistance is optional.
- Only the query text is sent to Gemini when assistance is explicitly enabled.
- Gemini does not generate search results or replace the local retrieval and ranking system.
- Uploaded documents remain in the current Streamlit session and are not persisted to server storage.
- PDF support extracts text only; scanned PDFs are not processed with OCR.
Verification
CI checks passed for this release, including the supported Python versions and the Streamlit smoke test.
search-engine v0.1.0
Initial Release
search-engine v0.1.0 is an educational search engine built from scratch in Python. It demonstrates core information retrieval concepts in a compact, testable implementation.
Features
- Text tokenization and normalization
- Inverted index with term frequencies
- Boolean AND and OR queries
- Quoted phrase search
- TF IDF ranking with deterministic result ordering
- JSON document persistence
- Command line search interface
Quality and testing
- Automated tests for indexing, query behavior, ranking, persistence, and CLI usage
- Ruff lint checks
- Continuous integration across supported Python versions
Scope
This is an educational project, not a replacement for production search platforms. Its tokenizer has limited multilingual support, phrase matching does not use a positional index, and no large corpus performance claims are made.
This pre-release establishes the initial version while the project continues to develop.