"As your site amasses content -- be it stories, SKUs,
or statistics -- a tailored, effective, and exacting search engine
becomes increasingly vital. Imagine a bookstore that doesn't index
its tomes by title or author, or a clothing retailer that doesn't
index garments by size. Without search, each site is useless. In
general, the quality and relevance of search results makes or
breaks a site.
"Typically, at least some search results are generated by the
site's underlying database. A database can maintain and catalog
enormous volumes of data. Thus, an inquiry for an obscure piece of
content would likely fall to the database since it's the canonical
repository. Complex, multi-variate queries may also fall to the
database as it's designed specifically for the purpose.
"However, a database query can be slow. Like any engineering
feat, a database has strengths and weaknesses and one size rarely
fits all. Hence, it's also typical for other actors to provide
search results. For instance, a content management application
might use an entirely separate engine to index the prose and
respond to keyword, phrase, and proximate searches."