Technical Club PPT for BTech CS and Btech IT

paurushsinhad 62 views 24 slides May 17, 2024
Slide 1
Slide 1 of 24
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24

About This Presentation

Technical Club PPT for BTech CS and Btech IT


Slide Content

Search Engine

What is a Search Engine? We use search engine like Google like every second. Search Engine is a software program which helps us find information over internet with just a piece of string or query.

How does a search engine works? Search engines, have a vast database, which contains information about every publicly accessible and allowed pages. Search engines just performs a search in their respective databases to provide users with the results.

So, who is entering data into these databases? Is there someone sitting in a cubicle and saving each page into the database?

Heck No! There is no one doing this manually. During the dot-com bubble, search engines like Yahoo, used to index web pages manually. Then Google came, Google did an innovation and replaced this process with a bot called "Crawler". After, search engines like Yahoo and Bing also adopted this.

How does a search engine work?

So how do we get results? We simply get results, after the search engine performs a search in their DATABASE.  Databases of search engines are so large, they almost contain every reachable site on the internet. So we can say they perform the search on internet, but they don’t actually perform search over internet.

FlexFind does the same, but less

Components of FlexFind Search Engine

Crawler As discussed before, crawler is an important for a search engine, our project is no different. It too have a crawler built in NodeJS and TypeScript. This crawler is responsible for going on each possible page on the internet and index every accessible page into FlexFind database.

So Why TypeScript? Not PHP? Making bots like crawler is possible but is not feasible. Crawlers are the bots, whose task will never be finished, as internet is almost filled with infinite number of pages, every minute new page comes live. So its almost infinite process, and PHP can not handle it. We can not perform infinite loading with PHP, as browsers will cancel the loading process and will declare the site as "THIS SITE TOOK TOO LONG RESPOND". That's why a programming language out of browser was needed to be chosen, here we chose TypeScript in NodeJS.

Database

So, why a SQL based database? Of course, we could use a NoSQL database like MySQL, but we decided to use MySQL as it provides and outstanding integration with both PHP and NodeJS.  Whereas, database like MongoDB is not well made for PHP, and it would be easy to create complex queries in SQL.

Backend We are using PHP to process user's search query and create SQL queries and fetch relevant records from the Database.

Don’t ask about HTML or CSS that isn't the focus.

Relevancy? So, you must have used Google to search something on Google, how does Google decide what are you searching for, what to rank on top, hence is the most relevant and what to show afterwards. Is it on random basis?

Why this matters? Users will probably visit the site in top 3 in the search result.  Ranking on top in Google on a keyword with large searches, will create a million dollars business and will surely generate a lot of revenue. And this can not be on luck basis, and it is not.

Search Algorithms Search engines like Google validates a page for over 200 factors to rank, like backlinks, on page optimization, mobile friendliness, bounce back rate etc. Other search engines do the same. This presentation is not about Google or SEO, hence we'll not go deep into it.

FlexFind uses similar approach Remember crawler? In FlexFind, crawler is responsible for not only indexing page content, but also to index meta data about the page. And also, the score for the pages. FlexFind crawler calculates a score for on page meta data available.  Crawler also increments the backlink count for target URL's it find. Finally, crawler increment the domain authority for each backlink it finds.

How FlexFind performs a search? FlexFind provide ranks to matched pages in following manner. Pages with Search string in their URL Search string exists distributively in single type of data about page. Search string in H1 tags. Search string in H2 / H3 / H4 / H5 / H6 HTML Tags. Search string exists in anywhere in page body. All words of the search string in the page present separetely. Any word except pronoun of search query exists in the page.

Algorithm of FlexFind With the ranking levels in the previous slide, FlexFind priorities ranking in descending order of a derived value which is calculated as  (domain autority + number of backlinks +(1.5*page optimization score))/3

Scope of Features & Correction This project can provide more relevant results, with more efficient search algorithm. Feature to search Multimedia Files like Images and Videos. Using OpenGraph tags to record answers and more accurate information in database to provide user directly with answers. Storing meta keywords from webpages into separate table to provide autocomplete feature. Lastly, providing Pagination or On Page End Scroll instead of loading all results in one go.

That's it for 10 Marks
Tags