fondamentalmente un motore di ricerca è costituito da queste parti fondamentali:

1) algoritmo di ricerca dati
2) database o cmq archivio dati
3) ricerca nell'archivio in base alle richieste

La cosa difficile da fare è la prima
una volta dato un database con i dati è facile interrogarlo.. il problema sta nell'immagazzinare i dati

I motori di ricerca più famosi usano degli "spider" [letteralmente "ragni"... nome azzeccatissimo se si pensache sono programmi che corrono per il "web" - rete, tela.. ragnatela - alla ricerca di dati da immagazzinare].. altri invece indicizzano solo siti che gli vengono segnalati.. altri fanno entrambe le cose

Il punto 1 mi è abbastanza oscuro per quanto riguarda la ricerca delle pagine.. dopo di che, in maniera riduttiva, si può dire che lo spider legga i files memorizzando penso titolo meta tag e testo della pagina.. [o forse l'intera pagina, codice compreso a seconda ovviamente degli algoritmi penso... ci sono algoriti raffinatissimi che riescono a riconoscere anche abusi tipo inserire nei meta parole non inerenti all'argomento del sito.. etc etc].. cose che poi avranno diversa rilevanza al momento della richiesta dei dati

Il punto 2 non ha bisogno di spiegazioni. Ogni motore ha il suo archivio dati.

Il punto 3.. in maniera semplificata.. è una normalissima query sql