Tony Yes, search will require database, or at least pre-indexing all data into a database or even JSON file. This is clear. However, as stated earlier, as soon as there is a change in any folder, the database needs to get re-indexed to return updated search results.
As for "just look for changes", the most effective way is to compare folder modified dates, and then update folders that have newer dates than the database. You can't just look for a new file (compared to database), because that would require PHP to loop though ALL files in ALL folders to compare files, and is inefficient. Of course, re-indexing would only happen from an owner-controlled mechanism, when they want it to, so it doesn't really matter if this process takes some time (for example 30 seconds).