Search Engine Project in C++

4 Min Read

Search Engine Project in C++ is an academic search engine application designed to search relevant academic information and records in schools, colleges and universities. It supports two popular search engines: Google Scholar and Microsoft Academic Search. With this application, students in colleges and universities can search academic information based on the keywords and titles provided for search.

The coding of this project is done in C++ language using QT design tool in Linux platform. You can download the complete source code and project files of Search Engine C++ project from the download links in this post. The project report and documentation is not available at the moment, so below is a brief introduction of project to help you understand the features and modes of this Search Engine.

Download Search Engine Project in C++  with Source Code

[sociallocker]

Download Search Engine Project in C++ with Source Code

[/sociallocker]

About Search Engine Project in C++:

Most academic institutions, colleges and universities, have their own websites that provide information regarding students’ research papers, project source codes and project reports. These records can be used as a reference by new students entering the colleges and universities. This search engine provides a platform to find out such records, information and data that can help students in the academic works.

This C++ Search Engine Project supports two basic search engines: Google Scholar and Microsoft Academic Scholar. Compared to Microsoft Academic Search, the search base of Google Scholar is large. Also, the project includes combined engine: Google Scholar cum Microsoft Academic Scholar along with two fake search engines: Single Test Search and Combined Double Test Search.

The list of search engines in this project are outlined below. The last two engines simply response with random search results waiting random time.

  • Google Scholar
  • Microsoft Academic Search
  • Google Scholar cum Microsoft Academic Search
  • Single Test Search Engine
  • Fake Test Combined Double Search

Search Modes:

Also, this Search Engine project in C++ features three different search modes. These are listed below; the mode of search is detected automatically by the system and is dependent on request.

  • Single Person + Single Search Engine
  • Single Person + Multiple Search Engines
  • Multiple Users + Multiple Search Engines

For each of these modes, the program generates one thread. So, when the last mode is used, i.e. when multiple users use the search engine application, the program generates one thread for every user. Also, the program maintains one minute search timeout for each task.

In case of Single Person + Single Search Engine mode, graph of articles is generated with approximation. Multiple names can be searched by using new line separated option. For each search query, count of articles can be displayed. The displayed search results can be saved using save option in JSON format.

Also see,
Search Engine in Python
Search Engine in PHP
More C++ Projects

Conclusion:

This search engine project is developed for colleges and universities to help students find academic information and records. There is a read-me file available in the download link with detailed information on how to run this Search Engine Project in C++ along with other info such as how to install library, packages in the application, etc.

Share This Article
11 Comments
  • Develop a basic search engine in c++ that can index and retrieve web pages. Implement data structures for efficient searching, and enhance it by adding filters and search history.

  • Your task is to design and implement an algorithm that searches a collection of
    documents. You will be provided with a set of 50 documents and a set of sample queries.
    You have the freedom to select the data structures and algorithms that you consider to be
    more efficient for this task.
    Mini search engine c++

  • There are 30 students in a class and their mark s is as follows:
    35 40 40 25 27
    36 42 41 24 28
    25 35 25 24 29
    36 36 23 16 30
    35 28 25 6 31

    Write a C++ program that will:
    1. STORE THE MARKS IN A 2 D ARRAY.
    2. FIND THE HIGHEST MARK
    3. FIND THE LOWEST MARK
    4. DISPLAY THE AVERAGE MARK FOR THE EXAM
    5. OUTPUT ALL THE MARK IN ASSENDING ORDER

    • #include

      #define ROW 5
      #define COLUMN 5

      using namespace std;

      int main(int argc, char** argv) {

      int marks[ROW][COLUMN];

      cout<<"start entering the marks(5 per row): ";

      //Line of code for entering the marks inside a 2-D array;
      for(int i = 0; i < ROW; i++)
      for(int j = 0; j >marks[i][j];

      //Line of code to calculate the heightest marks;
      int max = 0; // “max” variable that will store the heighest marks;

      for(int i = 0; i < ROW; i++) {
      for(int j = 0; j max)
      max = marks[i][j];
      }
      }

      cout<<"Heighest marks are: "<<max<<endl;

      //Line of code to calculate the lowest marks;
      int min = marks[0][0]; // "min" will be used to store lowest marks, it is initialized to first element of the 2-d array;

      for(int i = 0; i < ROW; i++) {
      for(int j = 0; j < COLUMN; j++) {
      if(marks[i][j] < min)
      min = marks[i][j];
      }
      }

      cout<<"Minimum marks are: "<<min<<endl;

      //Line of code to display average marks;
      int sum = 0;

      for(int i = 0; i < ROW; i++) {
      for(int j = 0; j < COLUMN; j++) {
      sum += marks[i][j];
      }
      }

      cout<<"Average marks are: "<<sum / ROW*COLUMN<<endl;

      //line of code to output all the marks in ascending order;
      //For this we'll first have to convert it into a 2-d array;
      //so let's convert it into a 2-d array;

      int _1D_MARKS[ROW*COLUMN]; // "_1D_MARKS" array will be used to store 2-d arrays elements;
      int k = 0;

      for(int i = 0; i < ROW; i++) {
      for(int j = 0; j < COLUMN; j++) {
      _1D_MARKS[k++] = marks[i][j];
      }
      }

      //Now lets sort the formed 1-d array in "ascending" order;

      //We've used selection sort here…
      for(int i = 0; i < k – 1; i ++) {
      for(int j = i + 1; j < k; j ++) {

      if(_1D_MARKS[i] < _1D_MARKS[j]) {
      int temp = _1D_MARKS[i];
      _1D_MARKS[i] = _1D_MARKS[j];
      _1D_MARKS[j] = temp;
      }

      }
      }

      cout<<"Marks in ascending order: "<<endl;
      for(int i = 0; i < k; i++)
      cout<<_1D_MARKS[i]<<" ";
      return 0;
      }

  • Ship repairs and Maintenance 1. Maintain master list of repairs with per unit cost
    2. Maintain the master list of maintenance works with per unit cost
    3. Prepare schedules for undertaking the Maintenance and repairs
    4. Maintain bills related to maintenance and repairs
    in c++

Leave a Reply

Your email address will not be published. Required fields are marked *

English
Exit mobile version