Shubham Wadhwa Project Report 20001602055
Shubham Wadhwa Project Report 20001602055
PROJECT REPORT
SMART SEARCH ENGINE USING JAVA AND
SPRING FRAMEWORK
SUBMITTED BY:
SHUBHAM WADHWA
20001602055
SESSION(2020-2022)
DEPARTMENT OF COMPUTER
APPLICATION
JC BOSE UNIVERSITY OF SCIENCE
AND TECHNOLOGY,YMCA ,
FARIDABAD , HARYANA
Corpiness"
Business Grow From Here..
INTERNSHIP CERTIFICATE
4th july 2022
Himanshu Sachdeva
0ess
dio
GloA
Delhi
DIRECTOR CR/
CGPL Corpiness Global Pvt Ltd
CANDIDATE’S
DECLARATION
I hereby certify that the work which is being presented in this project
report titled SMART SEARCH ENGINE submitted to “J. C. Bose University
of Science & Technology, YMCA, Faridabad”, is an authentic record of my
own work carried out in the company “CGPL Corpiness Global Pvt Ltd”. The
work contained in this thesis has not been submitted to any other University of
Institute.
Student Signature
EXAMINERS EVALUATION
Internal Examiner
Signature:
Name:
Designation:-
Date:
External Examiner
Signature:
Name:
Designation:-
Date:
~i~
ACKNOWLEDGEMENT
Thank you
Shubham Wadhwa
~ ii ~
TABLE OF CONTENT
2 REQUIREMENT ANALYSIS 3
3 DESIGN 4-6
5 DATASET 10
7 GUI 13-14
8 REFRENCES 15
~ iii ~
COMPANY PROFILE
~ iv ~
Chapter 1.
INTRODUCTION TO PROJECT
~1~
Scope of the Proposed System
DATASET: The DataSet consists of various recipes in .csv file. This file can be
anytime updated by administrator and any numberof recipes can be added.
INDEXING: Using INVERTED INDEX, Hashmap will contain each index term in
data set contains entry numbers to which it belongs. We can store/save this hashmap
in a .txt file. So that everytime we process a search there is no need to create
INVERTED INDEX redundantly.
NOTE: Whenever admin updates the DataSet by adding newentries, we have to create
INVERTED INDEX again.
QUERY PROCESS AND RANKING: In this we take query input from the user,
tokenize it and correspondingly search the results from the INVERTED INDEX,
Rank them according to thescores which resembles closely to the given input query.
~2~
Chapter 2.
REQUIREMENT ANALYSIS
Hardware Specification :
~3~
Chapter 3.
DESIGN
Indexing process:
The First Step of this entire process is the search engine, So Taking the dataset and
processing it by using Tokenization and Linguistic Tools, and Indexing it using
HashMap we get the Inverted Index Created.
terms
~4~
Querying process:
This Flow shows the Query Process from taking the input from the user and then
processing the query and ranking the results generated from the inverted index created
& finally printing the output results on the user Interface
~5~
Whole process:
This shows the entire process combining both the important stages- TheIndexing
and The Query Process.
At last we have finally generated the Results efficiently according to theQuery Input
given by the user.
Dataset
~6~
Chapter 4.
Programming Language:
JAVA:
Java ByteCode is the machine language for Java Virtual machine(JVM). The JVM
converts the compiled binary byte code into a specific machine language.
~7~
HASHMAP
HashMap contains an array of the nodes, and the node is represented as a class. It uses
an array and LinkedList data structure internally for storing Key and Value. Hashing
is a technique or process of mapping keys, and values into the hash table by using a
hash function. It is done for faster access to elements. The efficiency of mapping
depends on the efficiency of the hash function used.
~8~
INDEXING PROCESS:
~9~
Searching and ranking
~ 10 ~
Sorting according to scores
~ 11 ~
Chapter 5.
DATA SET:
This is an instance of the dataset used for our project, which is a .csv (Comma
Separated Values) File. The Dataset consists of 4000+ entries for recipes along with
the links to the website for the recipe.
First column shows the Serial No. which is also used as ID in our processing
Second Column Shows the Recipe Name on the basis of which our searchingWorks
mainly.
Third and the last column shows the Website URL which can also be displayedalong
with the search result
~ 12 ~
Chapter 6.
Types of Testing:-
1. Unit Testing
It focuses on the smallest unit of software design. In this, we test an individual unit or
group of interrelated units. It is often done by the programmer by using sample input
and observing its corresponding outputs.
2. Integration Testing
The objective is to take unit-tested components and build a program structure that has
been dictated by design. Integration testing is testing in which a group of components
is combined to produce output.
3. Regression Testing
Every time a new module is added leads to changes in the program. This type of
testing makes sure that the whole component works properly even after adding
components to the complete program.
4. Alpha Testing
~ 13 ~
5. Beta Testing
The beta test is conducted at one or more customer sites by the end-user of the
software. This version is released for a limited number of users for testing in a real-
time environment
6. System Testing
This software is tested such that it works fine for the different operating systems. It is
covered under the black box testing technique. In this, we just focus on the required
input and output without focusing on internal working.
In this, we have security testing, recovery testing, stress testing, and performance
testing
TESTING
TESTING METHODOLOGY:
• Test plan has been created to guide the overall testing process
• Modular testing has been used to test each module.
• Terminal debugger has been used as a tool to black box test functional
behavior of the module.
TEST CASE-1
Test No.: 1
Test Type: Input Testing
Input: Single containing String
Objective: Existing keyword in the data
Expected Output: Recipes of the keyword
Actual Output: Recipes of the keyword
Result: As expected
TEST CASE-2
Test No.: 2
Test Type: Input Testing
Input: Single non containing String
Objective: Checking the NULL outputs
Expected Output: Error Message
Actual Output: oops no result found
Result: As expected
~ 14 ~
TEST CASE-3
Test No.: 3
Test Type: Input Testing
Input: NULL input
Objective: Checking the output if nothing is passed
Expected Output: Every Recipe
Actual Output: Every Recipe
Result: As expected
TEST CASE-4
Test No.: 4
Test Type: Input Testing
Input: Multiple containing String
Objective: Checking the output if both strings are checked
Expected Output: Recipes of the keywords
Actual Output: Recipes of the keywords
Result: As expected
~ 15 ~
Chapter 7.
SNAPSHOTS OF GUI
Home page
~ 16 ~
Result page
~ 17 ~
Chapter 8
Refrences
Websties
1. https://www.javatpoint.com/
2. https://spring.io/
3. www.tutorialspoint.com
4. https://www.corpiness.com/
~ 18 ~
Chapter 9.
1.Personal Details
Dated: Signature
~ 19 ~