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 …