Si una hash table o un albero binario oppure un mix delle due strutture (tipo il primo carattere in una hash table e poi un albero binario...) , se i dati sono veramente tanti un B-TREE perchè ha migliori prestazioni per lavorare su memoria di massa.

Non ho capito se viene valutata anche la velocità di indicizzazione o soltanto la velocità delle ricerche nell'indice.

Mi sembra un progetto stimolante, quando ero ancora studente all'uni si era fatta una cosa simile, però era un progetto distribuito in cui c'erano diversi worker in ricerca su macchine che lavoravano in parallelo, la ricerca consisteva però nella ricerca di files sulle macchine remote, che avevo implementato usando un semplicissimo motore di espressioni regolari, dovessi rifarlo ora dopo 12 anni di lavoro sui gestionali non saprei manco piu dove iniziare.

In bocca al lupo per il tuo lavoro.

Ciao