If files are spread out all over the server, they'll be hard to search. However, we can simplify search if we have a special kind of soundex index for full-text searching -- essentially one or more very large files containing ALL of the text from ALL of the entries, except that the text is in soundex format and thus (1) much more compact than plain text and (2) better for matching spelling errors.
The idea is that, during a search, we search the soundex index FIRST, to narrow down the number of actual entry files to be searched. Then we search each entry file culled from the soundex index to find which of the entries has exactly, or almost exactly, the text being sought.
(Actually the solution might be even simpler: An index entry is the path to an entry file, a tab character, and the full text of the entry -- converted to lowercase unaccented letters, punctuation removed, spans of whitespace converted to single spaces.)