-
File System Indexing: The process begins with indexing all files on the directory. This allows the creation of a hashmap containing information about the location of each file. Then the hashmap is serialized and saved to a file.
-
File Search Using a only hashmap: After indexing, the user can perform file searches based on exact file name. This process is done by reading the serialized hashmap and searching for the file name.
-
Prefix Search: The user can enable prefix search for files based on prefix of the file name.
-
${\color{lime}Image Indexing}$ Main feature of our project is indexing images. We generate captions for every image in the directory and save them in a database. -
${\color{lime}Image Search}$ User can search for images based on the caption of the image.
- Download project using git clone
- cd to the directory
- GOTO https://www.kaggle.com/datasets/thanakomsn/glove6b300dtxt and download
glove.6B.300d.txt
- copy this txt to the project dir
cargo run --release
to run app
- serde
- bincode
- dioxus
- tokio
- trie-rs
- rusqlite
- serde_json
- reqwest
- rust2vec
- ndarray
Only the most important libraries are listed here. For full list of dependencies check Cargo.toml
.
- Azure
- Computer Vision API
- Natural Language Processing
- Multithreading
- Trie Data Structure
- SQLite Database
- Rust Programming Language
- Asynchronous Programming
- Serialization
- Image Processing