Migliaia non sono tanti, e migliaia divisi per dozzine sono ancora meno tanti. Probabilmente puoi caricare tutto questo nel frontend e fare suggerimenti di digitazione e individuazione di errori di battitura nel frontend, quindi gestire solo le corrispondenze di stringhe esatte nel database. Ciò creerebbe un indice btree su (food, price)
molto efficiente. (Presumibilmente il paese non è necessario poiché il cibo implica il paese, o non funziona in questo modo?)