Skip to content

Releases: MugdhoAI/search-engine

Search Engine v0.2.0

Choose a tag to compare

@MugdhoAI MugdhoAI released this 01 Nov 09:31

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

search-engine v0.1.0 Pre-release
Pre-release

Choose a tag to compare

@MugdhoAI MugdhoAI released this 25 Oct 11:11
9329b45

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.