A
search engine is a service that locates electronic
resources by means of
keyword searches.
Search engines typically try to index the entire World Wide Web, but can also be used to find information in a data warehouse or on your hard drive at home.
Once the search engine has retrieved a list of possibly relevant hits, it tries to rank them in a useful order. Some search engines rank hits by popularity, as Google does; many search engines rank hits by the number of times your keyword appears in the document and/or its metadata. This practice spawned keyword spamming, and has generally been improved so as to discourage it.
Many web sites with search engines also attempt to categorize some or all of their metadata by subject; this part is more properly a directory or subject tree, and is often integrated with a search engine.
The Open Directory Project, for example, is not a search engine, but directory.google.com joins it to their search engine in a way that allows access to the information in several ways.