Appena ho visto la scritta "motore di ricerca" e "italiano" credevo in qualcosa di veramente interessante... in particolare perchè c'era il codice a disposizione.
Dando uno sguardo al codice devo dire che è abbastanza acerbo per non dire che risulta molto "alle prime armi".
Già partendo da un banale problema di cross site scripting ... continuando con assenza (almeno sembra) di controlli delle stringhe che porterebbero a delle sql injection se non fosse per un probabile magic_quotes_gpc abilitato.
La struttura del database è troppo semplice(ma questo non è di per se un problema).
Per le query sarebbero da utilizzare le stored procedures, come engine Innodb al posto MyISAM (se si vuole pensare a qualcosa che diventerà grande).
Per la parte grafica suggerirei di mantenere quella di Davalletall che è al momento la più accattivante, netta e pulita.
Per le date si dovrebbe utilizzare gmdate per avere un riscontro reale degli orari sommando la differenza di timezone e il DST(o meno) in base a dove ci si trova.
Se il tutto non viene ben organizzato ed il carico di lavoro non viene distribuito su più macchine in maniera logica (macchine con database, macchine con processing delle richieste degli utenti, macchine con la cache delle query, macchine che si occupano del crawling dei siti, macchine che si occupano dell'elaborazione dei dati acquisiti dai
crawler ed inserimento sui
server con database) dopo un po' ci si trova in panne.
Per un motore di ricerca di una certa entità in teoria sarebbe da evitare
php (qui non vorrei aprire un
flame su php) specie per quanto riguarda il crawling.
Sarebbero da prendere in considerazione linguaggi di più basso livello(in particolare sfruttare il multithreading se possibile) per migliorare i risultati specie per quanto riguarda il crawling.
Sicuramente ci sono altre cose da aggiungere prima di mettere in opera il tutto, tipo un progetto sommario fatto in maniera comprensibile ed una roadmap con i tempi.
Capisco che al momento non c'è neanche un team dietro però diciamo che se bisogna cominciare ... bisogna cominciare tendendo verso qualcosa di professionale e non verso un abbozzo di progetto amatoriale che cestinerei anche a me stesso nel caso lo facessi.
(per non dover scrivere inutilmente un altro
post)
Qualcuno potrebbe dire -> "ma scusa perchè non contribuisci al posto di criticare solamente? credi di essere migliore?"
Io rispondo -> "Non ho abbastanza tempo dato che devo pensare a lavorare per non annegare totalmente nei debiti. Al massimo posso dare qualche input o dare un opinione sul progetto che al momento è quasi inesistente se non fosse per la parte grafica di davalletall"
"Non sono migliore di nessuno(forse sono anche peggiore di molti altri) e questa è una critica da prendere come costruttiva dato che bisogna sempre migliorare dagli *errori* prendendone piena coscienza."
riporto una frase di stallman sull'open source
"If you saw someone using an unfamiliar and interesting program, you could always
ask to see the source code, so that you could read it, change it, or cannibalize parts of it to make a new program."
Che riassumerei in ... studiare(non copiare senza capire) ciò che già è stato fatto, cannibalizzarlo e migliorarlo per avere qualcosa di efficiente e di qualità superiore.
documenti consigliati anche se forse molta della teoria è poco raggiungibile senza un gruppo di persone veramente motivate.
http://labs.google.com/papers/index.html
per il progetto potreste usare
http://code.google.com/hosting
(subversion)
Chiedo scusa per il disturbo.
Saluti.