ConstVidSearch is an advanced Android application that provides constant-time video search using a vector-based indexing method. This project demonstrates how modern search mechanisms can be implemented efficiently for scalable video datasets.
- Constant-Time Search: Implements O(1) complexity for retrieving relevant videos based on vector embeddings.
- Transformer-Based Embeddings: Uses Microsoft multilingual transformers to generate vector embeddings for video titles and descriptions.
- Cloud Storage: Video files and metadata are stored securely on AWS services like S3 and DynamoDB.
- Scalable Architecture: Designed to handle large-scale video datasets using Pinecone Vector Database for fast and accurate retrieval.
- User-Friendly Interface: Allows users to search videos by title and view results instantly.
- User Input: Users upload a video with a title, description, and date.
- Storage:
- The video, thumbnail, and metadata are stored in an AWS S3 Bucket.
- Metadata (e.g., title, description, thumbnail URL, video URL) is stored in DynamoDB.
- Embedding Generation:
- Titles and descriptions are transformed into vector embeddings using Microsoft multilingual transformers.
- The embeddings are indexed into Pinecone Vector Database for fast retrieval.
- User Query: The user searches for a video by providing a title.
- Vector Matching:
- The query title is transformed into a vector using the same transformer model.
- Pinecone Vector Database performs a nearest neighbor search to retrieve top K matching results.
- Data Retrieval:
- Metadata of the top results is fetched from DynamoDB using partition keys.
- Results (title, description, thumbnail, video URL) are displayed on the user interface.
- Android: Java-based mobile application development.
- AWS Services: S3 (video storage), DynamoDB (metadata storage).
- Transformer Models: Microsoft multilingual transformer.
- Vector Database: Pinecone for fast and scalable vector search.
- Upload a Video:
- Enter the video title, description, and date.
- Upload the video file and thumbnail.
- Search a Video:
- Use the search bar to enter a video title.
- View the search results with relevant video thumbnails and descriptions.
- Clone the repository:
git clone https://github.com/your-username/ConstVidSearch.git
- Open the project in Android Studio.
- Configure your AWS credentials in the app settings.
- Build and run the application on an Android device/emulator.
- Add support for advanced filters like tags, categories, and timestamps.
- Implement personalized recommendations based on user history.
- Support multilingual search queries.
Contributions are welcome! Please fork the repository, create a feature branch, and submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
- GeeksforGeeks Profile: Your gfg
- LinkedIn: Your LinkedIn
- GitHub: Your GitHub
Feel free to explore, contribute, and give feedback on the project. Together, let's make video search faster and smarter! π