Per avere un'idea un po' più precisa di come fa google - e non solo lui, perchè non provi tu stesso a costruire un motorino di ricerca?
Io ci ho provato, comunque la base della pagina dei risultati è questa (lo spider è un capitolo a parte):
- indici FULLTEXT sul database (quindi scordati le query con LIKE, e cmq credo che G si appoggi a Oracle), anche per definire la rilevanza - ci pensa direttamente il db
- parametri passati in querystring (e relativi controlli sull'input utente)
- ricostruzione della query al db in base a interruttori booleani (AND NOT OR ecc)
- filtri sui campi da selezionare (sempre via query al db)
- ordinamento (idem)
- funzione Lievenshtein per il Forse Cercavi
- dissezione della query di ricerca (la frase cercata), explode e preg_replace per evidenziare i termini nei risultati
- presentazione dell'output evidenziato, colorato, linkato, ecc
- paginazione dei risultati (te la giochi col LIMIT nelle query e due righe di script, senza temptables)
- memorizzazione della query e del numero di risultati trovati, a fini statistici (ma non solo...)
Direi che c'è un po' tutto, almeno, io sono più che soddisfatto del mio lavoro (un giorno lo metterò anche online).
Se ci provi da te è tutto più chiaro (io ci sono riuscito da solo dopo nemmeno un anno di studio del php)