Come posso memorizzare l'indice del documento invertito su un disco?
-
16-12-2019 - |
Domanda
So che questa domanda è stata chiesta ancora e ancora in Stackoverflow e Google, ma scopro che tutte le risposte non possono soddisfarmi.La maggior parte delle soluzioni supporta che l'intero indice può adattarsi in memoria, allora possiamo memorizzarlo sul disco con serializzazione Java.Quando è necessario l'indice, dobbiamo caricare l'intero indice nella memoria.Soluzioni come questa: Soluzione 1 , Soluzione 2 .Ma come sappiamo, questa ipotesi non è sempre vera, quindi cosa dovrei fare per memorizzare l'indice del documento invertito sul disco quando non si adatta alla memoria?
Lo apprezzerò se puoi darmi la soluzione in Java.
Soluzione
Proverei jdbm3 Questo supporta le collezioni Tree e Hash e l'unico requisito è che ogni tasto o voceadattarsi alla memoria.
Se hai voci super grandi, suggerisco di memorizzare ciascuno come file che possono essere mappati in memoria per estrarre porzioni dei dati.Nella tabella di ricerca è possibile memorizzare i tasti per i nomi dei file.(O effettuare i file dei file i tasti)
Altri suggerimenti
Un aggiornamento dopo alcuni anni.
JDBM3 non è più supportato. Mapdb è la sua sostituzione. Ha diversi maggio per memorizzare dati (mappe di memoria, ecc ...) che soddisfano il tuo requisito.