MetaCrawler has to understand both the query format and feature set supported by each service. Understanding the query format is not difficult, but there are some details involved. For example, Alta Vista prefers searching for phrases by enclosing the phrase in double quotes, e.g. ``Erik Selberg'' whereas HotBot uses a menu option that selects phrase searching.
Translating a user query into the proper format for each search
service is only half of the equation. MetaCrawler must also parse the
results of the query and collate results from different services into
a single, coherent list. This task is difficult because each service
uses a different ranking criterion, and some services don't report any
information about the ranking besides the order. Furthermore, because
each service's robot is slightly different, the URLs recorded for identical
pages are often different; for example, one robot may find http://www.cs.washington.edu/homes/speed/home.html while another
may find
http://www.cs.washington.edu/homes/selberg, both of
which point to the same document.