The Zoom Search product is a great one and it can cope with 100 000s of files without any issues, their tech support is very good and ultra-responsive (free limited time trial, bug fix within 24 hours of emailing,...) - we were impressed by the cost&service.
However, from an architectural standpoint we have gone through the route of creating student-like read-only accounts so that we have a search page for each student group (class/academic year combinations), those accounts have access to the exact same courses that the student group would have.
Once you have created one working template for your site, creating more is just a question of changing the username&password combinations, scheduling the indexing and creating a new search box in the course (html block).
Each of these search engines are then located in a different folder (eg http://domain.com/course1year1/search.php http://domain.com/course2year1/search.php) - this is automated by the FTP upload settings.
However, we only needed to configure about 30 profiles in total. (ie Course 1 Year 1, Course 1 Year 2, Course 2 Year 1,....). If we had to have 1500 manual accounts in Moodle just for search, that would become a massive job to create accounts, configure all of the profiles, it becomes kind of a security risk, and maintaining this in the long run would be hard to keep track of.
You could simply have a setup which would crawl your whole Moodle site and give you search results BUT if you have that many courses, it is more than likely that some will cover the same subject at various points, causing major user annoyance when they get the error message telling them they don't have permissions to view these results.