Come sviluppare un motore di ricerca come Google
Penso che sia una bella idea costruire un piccolo motore di ricerca come progetto personale e qualcosa che puoi espandere in seguito, imparerai molti dettagli a mano.
Io inizierei con qualcosa di molto semplice, costruirei un web crawler che navigherà casualmente nel web seguendo i link, recuperando le pagine e memorizzandole. Il crawler stesso è un progetto impegnativo in termini di tempo in quanto dovrete renderlo molto efficiente.
Poi costruite un indicizzatore che passerà attraverso le pagine e creerà un indice, tenete il vostro indice in memoria per assicurarvi che le vostre interrogazioni siano molto veloci.
La vostra applicazione usa quindi l'indice per rispondere alle interrogazioni, come usate l'indice per decidere quali pagine corrispondono all'interrogazione e come classificare quelle pagine è la chiave. Ci sono molte, molte opzioni e dovrai sperimentare.
Cache tutto quello che puoi, assicurati di non toccare mai il disco per rispondere alle query, devi essere molto veloce e l'unico modo per farlo è avere tutte le informazioni di cui hai bisogno in memoria.
Una volta che hai un mini motore di ricerca a macchina funzionante troverai molte cose che vuoi rifare o migliorare, il tuo indice e gli algoritmi che lo usano sono la tua salsa segreta.
Se pensi di aver fatto un ottimo lavoro allora puoi pensare di fare le cose in grande, distribuire il tuo motore di ricerca in un cluster e usare qualcosa come Apache Spark per creare una versione distribuita del tuo crawler e indexer, ora il tuo universo non è una singola macchina ma molte.
Finalmente se vuoi che questo abbia successo prova a fare qualcosa di diverso da quello che fa Google. Ricordate Bing? Non volete essere Bing.
Luis
Articoli simili
- Quale motore di gioco è superiore per sviluppare giochi VR e AR: Unreal, Unity o un altro motore di gioco?
- Come scaricare tutte le immagini dal motore di ricerca di immagini di Google in una volta sola
- Qual è il miglior motore di ricerca conservatore del 2019 rispetto a Google.com?
- Google è un sito web o un motore di ricerca?