Hi Filip, Barry.
Thank you Barry for the great help here :).
Filip, Barry is right, simply having 4000 docs being grabbed is a bit inefficient at best, and unscalable if you ever grow to more docs.
The blob idea is definitely a good idea, it will be quick to retrieve and show. With a cron job to update every day/week, or a bit in your code that re-generates that blob whenever the index changes, you'll always have up to date info on your files.
Then from the display, whenever the customer selects a doc, the search index will work the way it's intended : give you quick results :).
Cheers!