Realizzare archivio di documenti con ricerca

Ciao a tutti! Ho la necessità di realizzare una porzione di sito in cui sia possibile archiviare documenti. Provo ad esporre i miei dubbi, nella speranza che qualcuno abbia già realizzato qualcosa del genere e mi possa guidare verso la soluzione ottimale.

Prima di tutto si parte da una sezione privata, in quanto l'archiviazione dei documenti sarà riservata a pochi. Quindi classica schermata di login, che porterà ad un form in cui si dovranno valorizzare i seguenti campi:

1. Lettera dell'alfabeto

I documenti saranno classificati in riferimento ad un termine, cioè una singola parola, per cui si dovrà scegliere la lettera di riferimento di tale parola.

2. Termine di riferimento

Il termine vero e proprio, parola chiave sul database.

3. File di riferimento

Il file di cui fare l'upload, in formato da decidere.

Per quanto riguarda la scrittura avrei pensato di creare una tabella sul database in cui si archivia lettera, termine e nome del file. Secondo voi è più conveniente archiviare il file sul filesystem o sul database come blob?

Il file da archiviare vorrei che nella forma finale fosse in PDF. Conviene utilizzare fpdf per archiviare file .doc trasformandoli direttamente lato server, oppure è meglio richiedere che i file in upload siano già dei PDF all'origine?

Passando alla visualizzazione, aperta a tutti, vorrei invece chiedervi se è fattibile, secondo voi, realizzare una pagina in cui siano presenti tutte le lettere dell'alfabeto, rendendo cliccabili solo quelle che contengono almeno un documento? A tal proposito, conviene creare una vista sul database delle lettere appartenenti alla tabella di archiviazione, in modo da interrogare questa, oppure ciclare direttamente sulla tabella di archiviazione non è così dispendioso in termini prestazionali?

Ultima nota dolente, la ricerca. Ho cercato a destra e a manca un sistema per effettuare ricerche testuali all'interno dei PDF, ma pare non sia possibile. Cosa ne pensate se riuscissi a trovare un sistema per salvare il testo contenuto nel PDF all'interno della tabella di archiviazione (una specie di pdf2txt che butta tutto in una cella del database), per poi eseguire l'interrogazione su questo e presentare il link al/ai PDF come output? Come fa Google a trovare frasi all'interno dei PDF?

Se inserissi i file come blob nel database, sapete se esiste un metodo di MySQL per fare ricerche testuali all'interno dei file archiviati?

Bene, spero di aver scritto tutto, a voi la parola.

inviato 9 anni fa
Alcatraz
X 0 X
Secondo voi è più conveniente archiviare il file sul filesystem o sul database come blob?

Vanno bene entrambe le soluzioni, non ci sono particolari limitazioni per entrambi i metodi.

Conviene utilizzare fpdf per archiviare file .doc trasformandoli direttamente lato server, oppure è meglio richiedere che i file in upload siano già dei PDF all'origine?

Ti risulta che fpdf effettua questo tipo di conversioni?

conviene creare una vista sul database delle lettere appartenenti alla tabella di archiviazione, in modo da interrogare questa, oppure ciclare direttamente sulla tabella di archiviazione non è così dispendioso in termini prestazionali?

Una vista non è altro che una query con nome quindi le soluzioni sono equivalenti. Forse ti riferivi alla creazione di una tabella vera e propria per contenere le lettere.

Cosa ne pensate se riuscissi a trovare un sistema per salvare il testo contenuto nel PDF all'interno della tabella di archiviazione (una specie di pdf2txt che butta tutto in una cella del database), per poi eseguire l'interrogazione su questo e presentare il link al/ai PDF come output?

E' un'ottima idea, potresti così realizzare ricerche classiche (con LIKE) o ricerche full text (vedi documentazione di MySQL)

Come fa Google a trovare frasi all'interno dei PDF?

Solo Dio, Larry Page e Sergey Brin lo sanno.

Se inserissi i file come blob nel database, sapete se esiste un metodo di MySQL per fare ricerche testuali all'interno dei file archiviati?

Non esiste.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X
Ti risulta che fpdf effettua questo tipo di conversioni?

Ero convinto di sì, ma rileggendo evidentemente mi sono sbagliato. Quindi FPDF genera unicamente PDF da HTML?

Una vista non è altro che una query con nome quindi le soluzioni sono equivalenti. Forse ti riferivi alla creazione di una tabella vera e propria per contenere le lettere.

Ma la vista non viene memorizzata? Una tabella potrebbe essere un'altra soluzione, potrei popolarla nell'inserimento di un nuovo termine, a patto che non esista già. Però questo probabilmente appesantirebbe troppo l'inserimento.

E' un'ottima idea, potresti così realizzare ricerche classiche (con LIKE) o ricerche full text (vedi documentazione di MySQL)

Sai se esiste allora un "pdf2txt"?

Solo Dio, Larry Page e Sergey Brin lo sanno.

:buck:

risposto 9 anni fa
Alcatraz
X 0 X
Quindi FPDF genera unicamente PDF da HTML?

Neanche, FPDF è una classe PHP da utilizzare nei propri script PHP per creare da zero dei PDF inserendo uno alla volta i contenuti (test, grafici, foto, ecc.) attraverso delle funzioni PHP. Non effettua alcun tipo di conversione da altri formati.

Ma la vista non viene memorizzata?

No.

Però questo probabilmente appesantirebbe troppo l'inserimento.

Per nulla.

Sai se esiste allora un "pdf2txt"?

Si, indovina come si chiama... Comunque se devi realizzare uno script che esegue questa conversione ti devi assicurare che sul server di produzione si possa installare ed utilizzare l'utility in questione. Ad esempio se il server sarà Linux allora dovrai trovare un programma compatibile con questo sistema operativo.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda