Search engine (computing)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Wikid77 (talk | contribs) at 15:14, 13 September 2006 (→‎Notes: on ^INSIZ, added "100-kb limit"). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A search engine or search service is a program designed to help find information stored on a computer system such as the World Wide Web, inside a corporate or proprietary network or 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 references that match those criteria. 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, which search individual personal computers, and mobile search engines. However, while different selection and relevance criteria may apply in different environments, the user will probably perceive little difference between operations in these.

File:Google.com front page.png
Google search is the world's most popular search engine.

Some search engines also mine data available in newsgroups, large databases, or open directories like DMOZ.org. Unlike Web directories, which are maintained by human editors, search engines operate algorithmically. Most websites which call themselves search engines are actually front ends to search engines owned by other companies.[citation needed]

History

The very first tool used for searching on the Internet was Archie. (The name stands for "archive" without the "v", not the character from the 'Archie' comic book series). 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 filenames.

While Archie indexed computer files, Gopher indexed plain text documents. Gopher was created in 1991 by Mark McCahill at the University of Minnesota. (The program was named after the school's mascot). Because these were text files, most of the Gopher sites became websites after the creation of the World Wide Web.

Two other programs,Veronica and Jughead, searched the files 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 various Gopher servers.

Timeline
note: "Launch" refers only to web
availability of original crawl-based
web search engine results.
Year Engine Event
1993 Wandex Launch
1993 Aliweb Launch
1994 WebCrawler Launch
Infoseek Launch
Lycos Launch
1995 AltaVista Launch (part of DEC)
Excite Launch
1996 Dogpile Launch
Inktomi Founded
Ask Jeeves Founded
1997 Northern Light Launch
1997 Planetsearch Launch
1998 Google Launch
1999 AlltheWeb Launch
1999 Baidu Founded
2000 Singingfish Launch
2000 Teoma Founded
2000 Vivisimo Founded
2003 Info.com Launch
2003 Objects Search Launch
2004 Yahoo! Search Final launch
(first original results)
MSN Search Beta launch
2005 MSN Search Final launch
2006 Quaero Founded
Ask.com Launches
Windows Live Search Launch

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. 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 web page, 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) came out, and became a major commercial endeavor.

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 greater functionality.

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, recording 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.

Before the advent of the Web, there were search engines for other protocols or uses, such as the Archie search engine for anonymous FTP sites and the Veronica search engine for the Gopher protocol. More recently search engines are also coming online which utilise XML or RSS. This allows the search engine to efficiently index data about websites without requiring a complicated crawler. The websites simply provide an xml feed which the search engine indexes. XML feeds are increasingly provided automatically by weblogs or blogs. Examples of this type of search engine are feedster, with niche examples such as LjFind Search providing search services for LiveJournal blogs.

Google

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 web pages 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 was 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 Dr. Jon Kleinberg and his team while working on the CLEVER project at IBM's Almaden Research Center. Google is currently the most popular search engine.

Yahoo! Search

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.

Microsoft

The most recent major search engine is MSN 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. This was barely noticed by average users unaware of where results come from, but was a huge development for many webmasters, who seek inclusion in the major search engines. At the same time, Microsoft ceased using results from Inktomi, now owned by Yahoo!. In 2006, Microsoft started to migrated to the new search platform - Windows Live Search.

Ask.com

In February 2006, Ask Jeeves was rebranded as Ask.com. The butler logo was removed and several new features including a redesigned home page, search tool box, maps (with walking directions and dynamic address generation) and more "Smart Answers" were added. Ask.com is now an algorithmic engine. While you can still ask questions, it operates using a relevance ranking. Ask.com utilizes the ranking algorithm that was originally developed for Teoma and its database continues to increase in size.

Ask.com results pages offer several features generally unavailable elsewhere. They include page previews and "Zoom" that help the searcher narrow, expand, and select related names. These features are found on the right hand side of results pages where other engines place advertising. In 2005 it was reported that Ask.com did a great deal of work to reduce the number of paid advertisements on a results page.

Others

The other large (self described) search engines tend to be Web portals that merely show the results from another company's search engine (as MSN Search used to do). The other "true" search engines (those that provide their own results), like Gigablast, have vastly less market presence than the big three. However, since site usage is proprietary information, it is often difficult to determine which sites are most popular.

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 Web pages [see ^MSNI[1]].
  • Many Web pages are updated frequently, which forces the search engine to revisit them periodically.
File:WebCrawler.jpg
Screenshot of the WebCrawler homepage (March 2005)
  • The queries one can make are currently limited to searching for key words, which may result in many false positives, especially using the default whole-page search. Better results might be achieved by using a proximity-search option with a search-bracket to limit matches within a paragraph or phrase, rather than matching random words scattered across large pages. [see proximity search.] 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 Web pages than average. Example: for a dynamic Web page which changes content based on entries inserted from a database, a search-engine might be requested to index 50,000 static Web pages for 50,000 different parameter values passed to that dynamic Web page [see ^DYN[2]].
  • Many dynamically generated websites are not indexable by search engines; this phenomenon is known as the invisible web.
  • 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 results being polluted with linkspam or bait-and-switch pages which contain little or no information about the matching phrases. The more relevant Web pages are pushed further down in the results list, perhaps by 500 entries or more [see ^LSPAM[3]].

How search engines work

A search engine operates, in the following order

  1. Web crawling
  2. Indexing
  3. Searching

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 is 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 some store every word of every page it finds, such as AltaVista. 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 Web page. 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 comes to the search engine and makes a query, typically by giving key words, the engine looks up the 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 terms AND, OR and NOT to further specify the search query. An advanced feature is proximity search, which allows you 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 Web pages that include a particular word or phrase, some pages may be more relevant, popular, or authoritative than others. Most search engines employ methods to 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 everytime someone clicks on one of these ads.

The vast majority of search engines are run by private companies using proprietary algorithms and closed databases, the most popular currently being Google, MSN Search, and Yahoo! Search. However, Open source search engine technology does exist, such as ht://Dig, Nutch, Senas, Egothor, OpenFTS, DataparkSearch and many others.

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 100TB or so for indexes, giving a total hardware cost of under $200k: 400 500GB disk drives on 100 cheap PCs.

However, a public search engine requires considerably more resources than this to calculate query results and to provide high availability. And the costs of operating a large server farm are not trivial.

Crawling 10B pages with 100 machines crawling at 100 pages/second would take 1M 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. One company that has developed this type of technology is MetaCarta, which makes its search technology also available as an XML Web Service to allow deep integration into existing applications.

See also

Notes

The footnotes below support statements above. Because some issues are not documented in journals due to company-proprietary secrets, those issues are explained by logical reasoning. For more information on proprietary ideas and reasoning, see: trade secret, closed source and deduction.

  • ^GBMW: Reports of 30-day punishment, re: Car maker BMW had its German website bmw.de delisted from Google, such as: Slashdot-BMW (05-Feb-2006).
  • ^INSIZ: Maximum size of webpages indexed by MSN/Google/Yahoo! ("100-kb limit"): Max Page-size (28-Apr-2006).
  1. ^ ^MSNI: Time to index in MSN Search, slowing down in Dec-2005 & Jan-2006: MSN-Indexing (18-Jan-2006).
  2. ^ ^DYN: The indexing of numerous dynamic webpages can be shown by logical thinking: if one parameter-value generates 1 indexed Web page, 10 generate 10, and 1,000 parameter-values generate 1,000 Web pages, 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. (Such searches will yield definitive results for years, long after reference articles are out-of-print or deleted.)
  3. ^ ^LSPAM: The number of spam-links that slip past search-engine restrictions is a company-proprietary secret. Hundreds of spam-links can be verified by searching 24 variations of spelling "Da Vinci"/"Davinci" such as "Devinchi" or "Davinche" and counting the matching links which contain no relevant details, such as: "devinchi com. ketogenic diet recipe kona coffee label" -- searches can be repeated with numerous other rare words. (Such searches will yield definitive results for years and will, of course, be the most current research on the subject.) [See also: linkspam explaining proliferation of spam-pages.]

References

  • "Seeking Better Web Searches," Scientific American magazine (February 2005 Issue).

External links