Tysiące to niewiele, a tysiące podzielone przez dziesiątki to jeszcze mniej. Prawdopodobnie możesz załadować to wszystko do frontendu i robić sugestie typu nagłówek i wykrywać literówki w interfejsie, a następnie zajmować się tylko dokładnymi dopasowaniami ciągów w bazie danych. Spowoduje to utworzenie indeksu btree na (food, price)
bardzo wydajny. (Prawdopodobnie kraj jest niepotrzebny, ponieważ jedzenie sugeruje kraj, czy to nie działa w ten sposób?)