https://github.com/yash1th-yerra/simple-search-engine-tfidf
A Flask-based Search Engine that allows users to search for songs using lyrics snippets! This project demonstrates how to implement a basic text search functionality with TF-IDF Vectorization and Cosine Similarity for ranking results.
https://github.com/yash1th-yerra/simple-search-engine-tfidf
search-engine tf-idf-vectorizer vector-search-engine
Last synced: 4 months ago
JSON representation
A Flask-based Search Engine that allows users to search for songs using lyrics snippets! This project demonstrates how to implement a basic text search functionality with TF-IDF Vectorization and Cosine Similarity for ranking results.
- Host: GitHub
- URL: https://github.com/yash1th-yerra/simple-search-engine-tfidf
- Owner: yash1th-yerra
- Created: 2024-12-18T14:44:57.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-12-19T04:53:36.000Z (6 months ago)
- Last Synced: 2024-12-27T16:13:28.847Z (5 months ago)
- Topics: search-engine, tf-idf-vectorizer, vector-search-engine
- Language: CSS
- Homepage:
- Size: 47.6 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
🎵 Simple Search Engine for Songs
A Flask-based Search Engine that allows users to search for songs using lyrics snippets! This project demonstrates how to implement a basic text search functionality with TF-IDF Vectorization and Cosine Similarity for ranking results.
🚀 Features
🔍 Search Functionality: Enter a phrase or a snippet of lyrics to find matching songs.
📊 TF-IDF Vectorization: Efficient text representation for accurate matching.
🧠 Cosine Similarity: Ranks search results based on relevance.
🎨 User-Friendly Interface: A simple and responsive web design built with Flask and CSS.
🌐 Deployable: Ready for deployment on platforms like Render, Railway, or Heroku.🛠️ Technologies Used
- Backend: Flask (Python)
- Text Processing: Scikit-learn (TF-IDF and Cosine Similarity)
- Frontend: HTML5, CSS3
- Deployment: Render📝 How It Works
- The dataset (songdata.csv) is loaded and preprocessed.
- Lyrics are transformed into vectors using TF-IDF.
- User queries are vectorized and compared with the dataset using Cosine Similarity.
- Results are ranked by relevance and displayed to the user.📂 Project Structure
.
├── app.py # Main Flask application
├── templates/
│ ├── layout.html # Base HTML layout
│ ├── search.html # Search page template
├── static/
│ ├── style.css # CSS for styling
├── songdata.csv # Dataset of songs and lyrics
├── requirements.txt # Python dependencies
└── Procfile # Deployment configuration (for Render/Heroku)🚀 Getting Started
1️⃣ Clone the Repositorygit clone https://github.com/your-username/song-search-engine.git
cd song-search-engine2️⃣ Install Dependencies
pip install -r requirements.txt
3️⃣ Run the Application
python app.py
Visit http://127.0.0.1:5000 in your browser to start searching!
📖 Future Enhancements
- Add autocomplete for the search bar.
- Integrate a database for faster indexing and querying.
- Implement advanced ranking algorithms for more accurate results.
- Enhance the UI with more modern styles and animations.- Live Demo : https://simple-search-engine-tfidf.onrender.com/
🤝 Contributions
Contributions, issues, and feature requests are welcome! Feel free to fork this repository and submit a pull request.
🛡️ LicenseThis project is licensed under the MIT License.