swish-e.com
plain text, e-mail, PDF, HTML, XML, Microsoftยฎ Word/PowerPoint/Excel
Easy to install on Linux. Wicked fast search capabilities.
You will have to alter your search model, however. You can still have a MySQL table with all your filenames... but you don't perform your search on the MySQL table.
Instead, you do the following:
put all your MS Word Docs, PDF Docs, Text Docs, and everything else under one main directory on your hard drive. (It's ok if there are subdirectories underneath that main directory).
Run swish-e specifying the directory that contains the files that you want to index. This creates an index file.
When someone performs a query on your web site, you run swish-e from your PHP script passing it the location of the index file and the desired query. It will return all matching filenames.
You can show the user links to those files. Or, if you want, you could use those filenames to do lookups on your MySQL table.
Anytime you add new PDF or DOC files to the directory, you will need to do step 2 again to make sure the new files are included in your index.
I can't say enough good things about swish-e. It has all the Google search features. For example:
dogs and cats
dogs not cats
dogs and (cats or mice)
(dogs and hunting) not (dogs and "pet show")
dog* (returns all matches of dog, dogs, and dogbert)