Web Design & Development Guide
Google search is the world's most popular search engine.
A search engine is an
information retrieval system designed to help find information stored on a
computer system, such as on the World Wide Web, inside a corporate or
proprietary network, or in a personal computer. The search engine allows one to
ask for content meeting specific criteria (typically those containing a given
word or phrase) and
retrieves a list of items that match those criteria. This list is often sorted
with respect to some measure of relevance of the results. Search engines use
regularly updated indexes to operate quickly and efficiently.
Without further qualification, search engine usually refers to a
Web search engine, which searches for information on the public Web. Other
kinds of search engine are enterprise search engines, which search on
intranets, personal search engines, and mobile search engines. Different selection and relevance criteria may apply
in different environments, or for different uses.
Some search engines also mine data available in newsgroups, databases, or
open directories. Unlike Web directories, which are maintained by human editors, search engines
operate algorithmically or are a mixture of algorithmic and human input.
The very first tool used for searching on the Internet was
Archie. The name stands for "archive" without the "v". It was created in 1990
by Alan Emtage, a student at McGill University in Montreal. The program
downloaded the directory listings of all the files located on public anonymous
FTP (File Transfer Protocol) sites, creating a searchable database of file names;
however, Archie did not index the contents of these files.
The rise of Gopher (created in 1991 by Mark McCahill at the University of
Minnesota) led to two new search programs, Veronica and Jughead. Like Archie,
they searched the file names and titles stored in Gopher index systems. Veronica
(Very Easy Rodent-Oriented Net-wide Index to Computerized Archives) provided a
keyword search of most Gopher menu titles in the entire Gopher listings. Jughead
(Jonzy's Universal Gopher Hierarchy Excavation And Display) was a tool for
obtaining menu information from specific Gopher servers. While the name of the
search engine "Archie" was not a reference to the Archie comic book series,
"Veronica" and "Jughead"
are characters in the series, thus referencing their predecessor.
|Note: "Launch" refers only to web
availability of original crawl-based
web search engine results.
||Launch (part of
The first Web search engine was Wandex, a now-defunct index collected by the
World Wide Web Wanderer, a web crawler developed by Matthew Gray at MIT in 1993.
Another very early search engine, Aliweb, also appeared in 1993, and still runs
today. JumpStation (released in early 1994) used a crawler to find web pages for
searching, but search was limited to the title of web pages only. One of the
first "full text" crawler-based search engine was WebCrawler, which came out in
1994. Unlike its predecessors, it let users search for any word in any webpage,
which became the standard for all major search engines since. It was also the
first one to be widely known by the public. Also in 1994 Lycos (which started at
Carnegie Mellon University) was launched, and became a major commercial
endeavor. For a more detailed history of early search engines, see
Soon after, many search engines appeared and vied for popularity. These
included Excite, Infoseek, Inktomi, Northern Light, and AltaVista. In some ways,
they competed with popular directories such as Yahoo!. Later, the directories integrated or added on search engine technology for
Search engines were also known as some of the brightest stars in the Internet
investing frenzy that occurred in the late 1990s. Several companies entered the
market spectacularly, receiving record gains during their
initial public offerings. Some have taken down their public search engine,
and are marketing enterprise-only editions, such as Northern Light.
Around 2001, the Google search engine rose to prominence. Its success was
based in part on the concept of link popularity and PageRank. The number of
other websites and webpages that link to a given page is taken into
consideration with PageRank, on the premise that good or desirable pages are
linked to more than others. The PageRank of linking pages and the number of
links on these pages contribute to the PageRank of the linked page. This makes
it possible for Google to order its results by how many websites link to each
found page. Google's minimalist user interface is very popular with users, and
has since spawned a number of imitators.
Google and most other web engines utilize not only PageRank but more than 150
criteria to determine relevancy.
The algorithm "remembers" where it has been and indexes the number of
cross-links and relates these into groupings. PageRank is based on citation
analysis that was developed in the 1950s by Eugene Garfield at the University of
Pennsylvania. Google's founders cite Garfield's work in their original paper. In
this way virtual communities of webpages are found. Teoma's search technology
uses a communities approach in its ranking algorithm.
NEC Research Institute has worked on similar technology. Web link analysis
was first developed by Jon Kleinberg and his team while working on the CLEVER
project at IBM's Almaden Research Center. Google is currently the most popular
The two founders of Yahoo!, David Filo and Jerry Yang, Ph.D. candidates in
Electrical Engineering at Stanford University, started their guide in a campus
trailer in February 1994 as a way to keep track of their personal interests on
the Internet. Before long they were spending more time on their home-brewed
lists of favourite links than on their doctoral dissertations. Eventually, Jerry
and David's lists became too long and unwieldy, and they broke them out into
categories. When the categories became too full, they developed subcategories
... and the core concept behind Yahoo! was born. In 2002, Yahoo! acquired
Inktomi and in 2003, Yahoo! acquired Overture, which owned AlltheWeb and
AltaVista. Despite owning its own search engine, Yahoo! initially kept using
Google to provide its users with search results on its main website Yahoo.com.
However, in 2004, Yahoo! launched its own search engine based on the combined
technologies of its acquisitions and providing a service that gave pre-eminence
to the Web search engine over the directory.
The most recent major search engine is MSN Search (evolved into Live Search),
owned by Microsoft, which previously relied on others for its search engine
listings. In 2004, it debuted a beta version of its own results, powered by its
own web crawler (called msnbot). In early 2005 , it started showing its own
results live, and ceased using results from Inktomi, now owned by Yahoo!. In
2006, Microsoft migrated to a new search platform - Live Search, retiring the "MSN Search" name in the process.
Due to the difference between hanzi and the Roman alphabet, the Chinese
search market did not boom until the introduction of Baidu in 2000.
|Top U.S. Search Providers by Searches, May 2007:
||Share of Total Searches (%)
|My Web Search
|Source: Nielsen//NetRatings, 2007
Challenges faced by search engines
- The Web is growing much faster than any present-technology search engine
can possibly index see distributed web crawling. In 2006, some users found
major search-engines became slower to index new webpages. Time to index in
MSN Search, slowing down in Dec-2005 & Jan-2006:(18-Jan-2006).
- Many webpages are updated frequently, which forces the search engine to
revisit them periodically.
- The Web search queries one can make are currently limited to searching
for key words, which may result in many Type I and type II errors positives,
especially using the default whole-page search. Better results might be
achieved by using a Proximity search (text) option with a search-bracket to
limit matches within a paragraph or phrase, rather than matching random
words scattered across large pages. Another alternative is using human
operators to do the researching for the user with organic search engines.
- Dynamically generated sites may be slow or difficult to index, or may
result in excessive results, perhaps generating 500 times more webpages than
average. Example: for a dynamic webpage which changes content based on
entries inserted from a database, a search-engine might be requested to
index 50,000 static webpages for 50,000 different parameter values passed to
that dynamic webpage. The indexing is numerous in the dynamic webpages, they
can also be shown by logical thinking: if one parameter-value generates 1
indexed webpage, 10 generate 10, and 1,000 parameter-values generate 1,000
webpages, etc. Also, some dictionary-page websites are indexed using dynamic
pages: for example, search for page-counts of URLs containing variations of
"dictionary.*" and observe the page-totals reported by the search-engines,
perhaps in excess of 50,000 pages.
- Many dynamically generated websites are not indexable by search engines;
this phenomenon is known as the invisible web. There are list of search
engines that specialize in crawling the invisible web by crawling sites that
have dynamic content, require forms to be filled out, or are password
- Relevancy: sometimes the engine can't get what the person is looking
- Some search-engines do not rank results by relevance, but by the amount
of money the matching websites pay.
- In 2006, hundreds of generated websites used tricks to manipulate a
search-engine to display them in the higher results for numerous keywords.
This can lead to some search engine results being polluted with
linkspam or bait-and-switch pages which contain little or no information
about the matching phrases. The more relevant webpages are pushed further
down in the results list, perhaps by 500 entries or more. For example, many
spammers create websites containing random sequences of high-traffic
keywords, often with misspellings in order to attract a higher ranking on a
- Secure pages content hosted on HTTPS URLs pose a challenge for crawlers
which either can't browse the content for technical reasons or won't index
it for privacy reasons.
How search engines work
A search engine operates, in the following order
Web search engines work by storing information about a large number of web
pages, which they retrieve from the WWW itself. These pages are retrieved by a
Web crawler (sometimes also known as a spider) — an automated Web browser which
follows every link it sees. Exclusions can be made by the use of robots.txt. The
contents of each page are then analyzed to determine how it should be indexed
(for example, words are extracted from the titles, headings, or special fields
called meta tags). Data about web pages are stored in an index database for use
in later queries. Some search engines, such as Google, store all or part of the
source page (referred to as a cache) as well as information about the web pages,
whereas others, such as AltaVista, store every word of every page they find.
This cached page always holds the actual search text since it is the one that
was actually indexed, so it can be very useful when the content of the current
page has been updated and the search terms are no longer in it. This problem
might be considered to be a mild form of linkrot, and Google's handling of it
increases usability by satisfying user expectations that the search terms will
be on the returned webpage. This satisfies the principle of least astonishment since the user normally expects the search
terms to be on the returned pages. Increased search relevance makes these cached
pages very useful, even beyond the fact that they may contain data that may no
longer be available elsewhere.
When a user enters a query into a search engine (typically by using key
words), the engine examines its index and provides a listing of best-matching
web pages according to its criteria, usually with a short summary containing the
document's title and sometimes parts of the text. Most search engines support
the use of the boolean operators AND, OR and NOT to further specify the search
query. Some search engines provide an advanced feature called proximity search which allows users to define the distance between keywords.
The usefulness of a search engine depends on the
relevance of the result set it gives back. While there may be
millions of webpages that include a particular word or phrase, some pages may be
more relevant, popular, or authoritative than others. Most search engines employ
rank the results to provide the "best" results first. How a search engine
decides which pages are the best matches, and what order the results should be
shown in, varies widely from one engine to another. The methods also change over
time as Internet usage changes and new techniques evolve.
Most Web search engines are commercial ventures supported by
advertising revenue and, as a result, some employ the controversial practice
of allowing advertisers to pay money to have their listings ranked higher in
search results. Those search engines which do not accept money for their search
engine results make money by running search related ads alongside the regular
search engine results. The search engines make money every time someone clicks
on one of these ads.
The vast majority of search engines are run by private companies using
proprietary algorithms and closed databases, though
some are open source.
Storage costs and crawling time
Storage costs are not the limiting resource in search engine implementation.
Simply storing 10 billion pages of 10 kbytes each (compressed) requires 100TB
and another 100 TB or so for indexes, giving a total hardware cost of under
$200k: 100 cheap PCs each with four 500GB disk drives.
However, a public search engine requires considerably more resources than
this to calculate query results and to provide high availability. Also, the
costs of operating a large server farm are not trivial.
Crawling 10 billion pages with 100 machines crawling at 100 pages/second
would take 1 million seconds, or 11.6 days on a very high capacity Internet
connection. Most search engines crawl a small fraction of the Web (10-20% pages)
at around this frequency or better, but also crawl dynamic websites (e.g. news
sites and blogs) at a
much higher frequency.
Geospatially enabled search engines
A recent enhancement to search engine technology is the addition of geocoding
and geoparsing to the processing of the ingested documents being indexed, to
enable searching within a specified locality (or region). Geoparsing attempts to
match any found references to locations and places to a geospatial frame of
reference, such as a street address, gazetteer locations, or to an area (such as
a polygonal boundary for a municipality). Through this
geoparsing process, latitudes and longitudes are assigned to the found places,
and these latitudes and longitudes are indexed for later spatial query and
retrieval. This can enhance the search process tremendously by allowing a user
to search for documents within a given map extent, or conversely, plot the
location of documents matching a given keyword to analyze incidence and
clustering, or any combination of the two.
Social search engines are a type of vertical search engine found on many websites.
The footnotes below are given in support of the statements above. Because
some facts are proprietary secrets held by private companies and therefore not
documented in journals, such facts are reasoned from facts that are public.
- GBMW: Reports of 30-day punishment, re: Car maker BMW had its German
website bmw.de delisted from Google, such as:
- INSIZ: Maximum size of webpages indexed by MSN/Google/Yahoo!
Max Page-size (28-Apr-2006).
- "Seeking Better Web Searches," Scientific American magazine
(February 2005 Issue).
Enterprise application integration
Web service specifications
List of web service protocols