Non ho letto con attenzione tutti i post ma propongo una mia idea.
I motori di ricerca partono da un indice inverso, un indice al quale ogni parola ha associato un id dei documenti in cui è presente. Pertanto il motore di ricerca, siccome converte lo spazio in un AND logico, dal suo indice inverso prende in considerazione i documenti che presentano quelle parole oppure i siti che presentano quelle parole.
Dopodichè una volta che sono stati estrapolati diciamo 5 milioni di documenti corrispondenti alla query il motore di ricerca applica i suoi algoritmi e decide l'ordine di apparizione.
Ora facendo qualche calcolo approssimativo un cluster delle dimensioni di qualche migliaio di computer come quelli di Google per fare queste operazioni ci mette una manciata di millisecondi.
Per velocizzare questo procedimento potrebbe avere un sistema di caching (tipo quello di MySql per intenderci) che velocizza l'estrapolazione dei documenti. Però, vista la quantità di query al secondo immagino che il caching venga effettuato sulle query principali ripetute più volte al giorno, non per il pazzo che cerca "cane pazzo mandrillo lallalalalala".
Allora in realtà credo che i motori di ricerca non abbiano un sistema di memorizazzione dei risultati ma semplicemente che i risultati cambiano in base alla frequenza di spiderizzazione\analisi dei siti per una data serp.
Se oggi la query "html" restituisce x risultati, domani sarà probabilmente identica non perchè Google ha un sistema di memorizzazione dei risultati ma perchè non ci sono stati cambiamenti incisivi sui siti presenti nella serp da modificare il ranking.
Noi non possiamo concepire una struttura di un motore di ricerca perchè non abbiamo mai avuto a che fare con un cluster di diciamo 1000 pc. Io al massimo che ho visto è stato un cluster di qualche decina di pc per calcoli scientifici e sono rimasto a bocca aperta dalla potenza di calcolo che tirava fuori.. Figuriamoci se vedessi all'opera il cluster di Google![]()