Diciamo che abbiamo un database full-text. La cosa ragionevole da fare, per la scalabilità, è archiviare solo un indice ma non il contenuto dei documenti.
Il problema che sto affrontando è: vorrei fornire un'anteprima evidenziata del contenuto quando si elencano i risultati di ricerca per una determinata query (proprio come fa Google), ma trovo difficile scegliere uno degli approcci rispetto all'altro:
Approccio I:
- Creazione di un indice per il set di documenti.
- Memorizzazione del contenuto testuale dei documenti.
- Dopo aver recuperato i documenti per una determinata query di ricerca, viene creata un'anteprima evidenziata utilizzando il contenuto dei documenti precedentemente memorizzato.
Problema: archiviazione.
Metodo II:
- Creazione di un indice per il set di documenti, senza memorizzare il contenuto del testo.
- Dopo aver recuperato i documenti per una determinata query di ricerca, un'anteprima evidenziata viene creata dinamicamente (in fase di query) leggendo il contenuto testuale dei documenti.
Problema: potrebbe richiedere molto tempo per analizzare il contenuto testuale dei documenti mentre l'utente è in attesa.
Quindi, ci sono approcci conosciuti a questo problema? Altrimenti, quale pensi, relativamente, costa meno dell'altro?