30k e un număr mic, nu trebuie să impună probleme. Nici 100k. Și nu ocupă exagerat de multă memorie într-un context optim.
Recomand ceva existent, fie self hosted (ca elastic search), fie Algolia (https://www.algolia.com/pricing - daca un abonament lunar nu e o problemă, serviciul e ireproșabil tehnic și ca support).
Eu aș merge pe o soluție custom doar daca business-ul mi-ar permite sa investesc în mentenanța soluției.