A multilingual information retrieval system supporting English-Amharic search using BM25, TF-IDF, query expansion and Flask.
# Multilingual Search Engine
A multilingual Information Retrieval (IR) system that enables English and Amharic document retrieval using modern search techniques including BM25 ranking, TF-IDF ranking, query expansion, and cross-language search.
## Live Demo
π **Live Application:**
multilingual-search-engine-β¦
### Quick Links
- Live Demo:
multilingual-search-engine-β¦
- Source Code:
github.com
## Overview
This project demonstrates the core concepts of Information Retrieval by implementing a complete search engine capable of retrieving relevant documents across multiple languages. The system includes document preprocessing, indexing, ranking, evaluation, and a web-based search interface.
## Key Features
- English document retrieval
- Amharic document retrieval
- Cross-language information retrieval
- BM25 ranking algorithm
- TF-IDF ranking algorithm
- Query expansion
- Inverted index generation
- Search evaluation metrics
- Flask-based web interface
- Persistent index storage
## System Architecture
```text
User Query
β
βΌ
Preprocessing
β
βΌ
Query Expansion
β
βΌ
Translation Layer
β
βΌ
BM25 / TF-IDF Ranking
β
βΌ
Search Results
```
## Project Structure
```text
multilingual-search-engine/
β
βββ app.py
βββ requirements.txt
βββ README.md
βββ LICENSE
β
βββ dataset/
β βββ english/
β βββ amharic/
β
βββ ir/
β βββ preprocessing.py
β βββ indexing.py
β βββ ranking.py
β βββ search_engine.py
β βββ translation.py
β βββ query_expansion.py
β βββ evaluation.py
β
βββ templates/
βββ static/
βββ saved_indexes/
β
βββ .github/
βββ .devcontainer/
β
βββ render.yaml
```
## Technologies Used
- Python 3
- Flask
- Flask-CORS
- NLTK
- BM25 Ranking
- TF-IDF Ranking
- HTML
- CSS
- JavaScript
## Installation
### Clone Repository
```bash
git clone
github.com
cd multilingual-search-engine
```
### Install Dependencies
```bash
pi β¦