Logo

πŸ•·οΈ Spidey πŸ•ΈοΈ

Fully working search engine which can search by text or voice for webpages or images, it also has its own crawler, indexer, ranker, query engine and UI

GitHub issues GitHub issues GitHub forks GitHub stars GitHub license

πŸ‘· Dependencies

πŸ“¦ Libraries

πŸ“ Modules

πŸš€ Running Main Modules

  1. Clone using vesion control using any IDE ,e.g: IntelliJ IDEA
  2. Install mysql server sudo apt-get install mysql-server
  3. Login to root user sudo mysql -u root -p
  4. Create new user named admin with admin password CREATE USER 'admin'@'localhost' IDENTIFIED BY 'admin';
  5. Grant all privileges to user admin on test_search_egnine database GRANT ALL PRIVILEGES ON test_search_engine.* TO 'admin'@'localhost';
  6. Run Create Database
  7. Run Crawler (preferred to wait 5 minutes before moving to the next step)
  8. Run Indexer
  9. Run Query Processor (wait until it lauches to move to the next step)
  10. Run Performance Analysis

🎨 Running Front-End

  1. Run Query Processor (wait until it lauches to move to the next step)
  2. Open front end folder cd front_end/
  3. Install packages npm install
  4. Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files

πŸ“ Note: use google chrome because we use its API in speech recognition.

πŸ“ˆ Analysis

Analysis with 500 pages

This analysis has been made with this parameters using Performance Analysis module

public static final int MAX_WEBSITES = 500;
public final static int SECONDS_TO_SLEEP = 5;

1. How many simultaneous search requests can your solution handle?

Max Number Of Simultaneous Search Requet

2. How is the latency of your solution affected by the number of simultaneous search requests?

Latency VS Simultaneous Search Requests

3. How is the search request latency of your solution affected by the number of web pages crawled?

Latency VS Number Of Web pages Crawled

4. How is the search request latency of your solution affected by the size of the index table?

Latency VS Size Of The Index Table

5. How is the search request latency of your solution affected by the ranking process?

Latency VS Number Of KeyWords Of The Ranking Process

Analysis with 5000 pages

This analysis has been made with this parameters using Performance Analysis module

public static final int MAX_WEBSITES = 5000;
public final static int SECONDS_TO_SLEEP = 120;

1. How many simultaneous search requests can your solution handle?

Max Number Of Simultaneous Search Requet

2. How is the latency of your solution affected by the number of simultaneous search requests?

Latency VS Simultaneous Search Requests

3. How is the search request latency of your solution affected by the number of web pages crawled?

Latency VS Number Of Web pages Crawled

4. How is the search request latency of your solution affected by the size of the index table?

Latency VS Size Of The Index Table

5. How is the search request latency of your solution affected by the ranking process?

Latency VS Number Of KeyWords Of The Ranking Process

πŸ”₯ Spidey On The Action

Search By Text

Search By Text Test GIF

Navigate Result Pages

Search By Text Test GIF

Search By Voice

Search By Voice Test GIF

Search For Images

Search For Images Test GIF

Night Mode

Night Mode Test GIF

©️ Developers

Name Email
Abdulrahman Khalid Hassan abdulrahman.elshafei98@gmail.com
Shady Fahmy Abd Elhafez Shadyfahmy67@gmail.com
AbdElRahman Muhammad Ahmad ElGamil abdurrumanmohamed@gmail.com
Yosry Mohammad Yosry yosrym93@gmail.com