Indicizzazione basata su PHP e implementazione della ricerca

1

C'è una cosa del genere?

Ho progettato fino a poco tempo fa un'app basata su una forma rudimentale per i miei utenti.

Riceviamo dai nostri fornitori dati di produzione hardware in file XML: il nome del file è composto da undici campi separati da tilde, con ciascun campo che ha il proprio significato.

I ragazzi di R & D volevano essere in grado di cercare ogni campo dei nomi dei file, così ho usato regex () con risultati decenti.

Il problema è che ora abbiamo oltre 2,5 milioni di file. E la mia app non può più modificarlo.

Ho guardato Apache Lucene e amp; Solr. Sebbene sembrasse la migliore soluzione al mio problema, i campi nei nomi dei file non sono peer per il contenuto del file. Grande no-no con Solr.

Qual è il modo migliore per implementare un'app PHP con funzionalità di indicizzazione e ricerca con un numero così elevato di file?

Devo comprare Zend e usare Zend_Search? È l'unico modo?

Grazie per il tuo contributo.

    
posta Chris 16.02.2011 - 00:04
fonte

2 risposte

2

Quando ricevi file xml dai fornitori, inserisci le informazioni in un database . Questo è quello per cui sono progettati. Avrai essenzialmente ricerche istantanee. Se i campi sono coerenti, un normale database SQL vecchio farà il trucco. Se ognuno è diverso, forse guarda una soluzione NoSQL.

    
risposta data 21.03.2011 - 22:41
fonte
1

Bene, c'è sempre Xapian , o più specificamente Omega . È possibile integrarlo tramite cgi e quindi essere in grado di indicizzare e ricercare rapidamente diversi documenti del server Web.

In questo caso, potresti dare un'occhiata alla loro guida per come per aggiungere il supporto per i file XML .

    
risposta data 21.03.2011 - 16:01
fonte

Leggi altre domande sui tag