There are valid statistics which evince that, despite occupying the 65% market share in web searching ecosystem, Google crawls and indexes only the 16% of the entire world wide web. More specifically, every search query made on Google extracts 0.03% of the total information regarding that search query from the web.
Admittedly, this information does not challenge the authority of Google and it’s a fact that Google’s efficiency in handling this colossal amount of crawled and indexed datasets is unparalleled. So, being the most popular search engine on this planet, how Google executes this gigantic task of fishing out potential information against an endless parade of search queries respectively, within a blade of time?
Let’s dig a bit deep.
There are three major functions of a search engine. They are:
1. Web Crawling
Before moving into web crawling technology, it’s good to have a clear concept on the web. Technically, World wide web or W3 is nothing but a sea of interlinked web pages and other web elements and every web element has a particular web address(links) which makes them discoverable. In this light, a website is nothing but a collection of web pages, on a much smaller scale, which are deeply interlinked(hyperlinks).
Followingly, the chief purpose of web crawlers is to hop from one link to another link endlessly and lick all of the information contained in these links respectively. Explicitly, this is an independent approach. It means a web crawler executes this link-hopping in a random manner.
Web crawling is also termed as web spidering which is nothing but the process of locating web pages and downloading them.
Similarly, a web crawler, which is just a piece of code, is also known as bot, robot or web spider. Nowadays, thousands of web pages get uploaded on the web with each passing second and search engine bots never stops crawling these new web pages. So, for a search engine web crawler, crawling is an interminable task.
However, there are ways to tell a search bot to crawl different web pages or an entire website. Some of the popular techniques for that are,
2. Indexing Crawled data
Indexing data is the most daunting execution of this entire affair, organising and maintaining the entire surface web. The last half-decade saw a meteoric rise in user generated contents and this rapid growth of the web pushed itself towards the decentralization of content publication. Moreover, statistics are pretty vocal about the fact that in the last 3 years we have doubled the weight of the surface web with our interactive approach towards the web.
It’s nearly impossible for any single search engine to crawl and index the entire web and with the rapid growth rate of it, it’s becoming much harder and unmanageable. Technically, data indexing is a layered process and there are different approaches to do the same.
The first step of the data indexing process is to build a dictionary using an identifier for representing each term within the stored data. The mapping of the datasets for this purpose is done in two steps. The first step is to compile the dictionary and the second step is to build the index through a linguistic processor which transforms documents and prepares them for indexing terms.
Understanding user’s intent and their search queries is a key factor for designing various data indexing approaches. Modern search engines moved towards the ‘phrase based indexing’ from the old-school ‘term based indexing’ for being more efficient and relevant with their search results.
Partitioning- Distribution of the Indexed data
Partitioning the process of distributing the indexed data. There exist several techniques for that like,
Document based partitioning – In this technique, the entire volume of indexed data is partitioned into smaller subsets and each of the sub-set gets assigned to a search processor.
Term based partitioning – In this technique the dictionary is partitioned and each of the subsets is assigned to different search processor. Here, each search processor owns the knowledge of the term based subset of the entire dictionary.
Lastly, storing the indexed data is also a prime concern for the search engines. Generally, there are two types of storing processes. One is memory based data storing and the other one is disk based. The former process is extremely fast with data lookup execution(few network transfers for each search query) but expensive and the latter one is less expensive but the execution is slower(more network transfer for search queries).
3. Search Rank
Google indexes Billions of web pages but search results are scaled down to a few hundreds as it is hard for a user to manually process more documents than that against a single search phrase. So, how to decide about which web pages have the potential for being the near best answer to a search query?
Unitedly, these search signals act as the input system for determining the quality of content and its ability to be one of the best answers to a particular search query. We do coin them as search engine algorithm. Every search engine maintains their own search algorithm and updates the same frequently. SEO or ‘search engine optimization’ is a well-preached subject today and it is extremely important for every online business to design a standard SEO guideline for achieving a higher rank on SERPs.
So, this is a brief story about the functioning of Google or any other alike search engines and it’s for sure that in no time this entire technology will evolve to a new shape for achieving a higher accuracy level of information processing with an increased speed.
What’s your take on this? Do feel free to share that with us.
If you are in a quest for more data to power your business, it’s time to talk to us about your requirements.