Witam
Na stronach www i cmsach zazwyczaj stosuje się prosty zabieg polegający na tym jak przedmówca powiedział opendir / fopen / preg_match.
Jest to metoda bardzo szybka jeżeli chodzi o strony (max miałem 30 plików)
---
Jeżeli napisałeś że masz 100.000 plików to zaczynają się schody

Szczerze mówiąc nie wiem jak to rozwiązać, nigdy nad tym nie mysłałem, w każdym bądź razie bez baz danych się nie obędzie. Musiałbyś napisać 1 osobny skrypt do indexowania, który dane z wszystkich plików zapisałby do bazy danych w odpowiedni sposób (przemyśl jaki), odpalany byłby z CRONa. Sama szukaczka na bazie już powinna sobie poradzić, ale bardzo dużo zależy w jaki sposób umieścisz dane w bazie, a to zależy także od tego jakie to są dane.
Daj znać jakby Ci się udało, jestem bardzo ciekawy jak to wyjdzie.