From Wikipedia, the free encyclopedia
- This article is on the general topic; for a specific search engine, see List of search engines.
A search engine is a document 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, which search individual personal computers, 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 like DMOZ.org. Unlike Web directories, which are maintained by human editors, search engines operate algorithmically or are a mixture of algorthmic and human input. Some search engines also have special exclusions to search restricted, smaller databases 
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 filenames; however, Archie could not search by file contents.
While Archie indexed computer files, Gopher indexed plain text documents. Gopher was created in 1991 by Mark McCahill at the University of Minnesota: Gopher 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. 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.
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 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) 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, 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.
More recently, search engines are also coming based on compiling XML or RSS feeds. 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 LJSeek providing search services for LiveJournal blogs.
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 search engine.
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, 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 migration to a new search platform - Windows Live Search.
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.
- See also: List of search engines
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 search engines are the most used, though some monitoring services such as Alexa have provided approximations.
Some search engines are "national" search engines, which prioritize indexing websites within a country's domain (.uk, .fr, etc.). The unaffiliated engines which only index that nationality have generally not seen wide usage, even when backed by government funding. Most of the major search engines now have national websites tailored to specific countries; for instance, www.yahoo.fr (Yahoo France) or www.google.ca (Google Canada). Search engines have occasionally courted controversy when starting national versions of their website, as they have to obey the laws of the country. Censorship in the People's Republic of China has proven especially controversial.
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 [see ^MSNI].
- Many webpages are updated frequently, which forces the search engine to revisit them periodically.
- 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 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 [see ^DYN].
- Many dynamically generated websites are not indexable by search engines; this phenomenon is known as the invisible web.There are search engines that specialize in crawling the invisible web. They can crawl sites that have dynamic content, that require forms to be filled out, or that are password protected. Some examples of invisible web search engines are ResourceShelf, CloserLook Search, and Yahoo! Search Subscriptions .
- Relevancy: sometimes the engine can't get what the person is looking for.
- 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 webpages are pushed further down in the results list, perhaps by 500 entries or more [see ^LSPAM].
- Secure pages (content hosted on HTTPS URLs) pose a challenger 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 crawling
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 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 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 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: 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 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.
- List of search engines
- Automatic summarization
- Bibliographic database
- Data mining
- Desktop search
- Federated search
- Inverted index
- Instant indexing
- Local search
- Metasearch engine
- Organic search
- Page hijacking
- Search engine marketing
- Search engine optimization
- Search oriented architecture
- Search Engine Indexing Process
- Sponsored link
- Text mining
- Vertical search
- Web indexing
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, these facts are reasoned from facts that are known. 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).
- ^ a b "Internet History - Search Engines" (from Search Engine Watch), Universiteit Leiden, Netherlands, September 2001, web: LeidenU-Archie.
- ^ ^MSNI: Time to index in MSN Search, slowing down in Dec-2005 & Jan-2006: MSN-Indexing (18-Jan-2006).
- ^ ^DYN: The indexing of numerous dynamic webpages can 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. (Such searches will yield definitive results for years, long after reference articles are out-of-print or deleted.)
- ^ ^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.]
- "Seeking Better Web Searches," Scientific American magazine (February 2005 Issue).
- Scientific American Magazine (February 2005 Issue) "Seeking Better Web Searches"
- Search engine aids rights workers
- How Google Finds Your Needle in the Web's Haystack The mathematics of calculating website importance.