erenisci/wikipedia_synonym_search
Semantic search engine over Turkish Wikipedia. Uses a 3-stage pipeline (MongoDB → Word2Vec → Elasticsearch) with synonym expansion, full-text, and vector similarity search modes.
What's novel
Semantic search engine over Turkish Wikipedia. Uses a 3-stage pipeline (MongoDB → Word2Vec → Elasticsearch) with synonym expansion, full-text, and vector similarity search modes.
Code Analysis
8 files read · 3 roundsA 3-step pipeline that ingests Turkish Wikipedia XML into MongoDB, trains a Word2Vec model on the articles, indexes them into Elasticsearch with dense vectors, and provides a CLI search tool with synonym expansion, full-text, and vector similarity modes.
Strengths
Clean linear pipeline with well-separated steps, memory-efficient XML streaming via iterparse, and a practical synonym-enhanced search that combines Word2Vec semantic expansion with Elasticsearch multi-match. The wiki markup cleaning is thorough with 10+ targeted regex patterns.
Weaknesses
No tests at all, silent exception swallowing in ingest.py, module-level side effects in search.py (ES connection and model load at import time), and the vector search uses script_score instead of Elasticsearch 8.x native knn search. Several stale/incorrect docs (resources.md references a non-existent mongo/main.py, requirements.txt lists unused packages).
Score Breakdown
Signal breakdown
Innovation
Craft
Traction
Scope
Evidence
Commits
5
Contributors
2
Files
11
Active weeks
1
Repository
Language
Python
Stars
1
Forks
1
License
MIT