Парсинг документов самостоятельно не стоит писать - есть Apache Tika (Java) - на выходе JSON. Tika раньше был в составе Apache Lucene (поисковый движок).
The Apache Tika™ toolkit detects and extracts metadata and text from over a thousand different file types (such as PPT, XLS, and PDF). All of these file types can be parsed through a single interface, making Tika useful for search engine indexing, content analysis, translation, and much more.
Индексация текста и поиск - Elastic Search (Java), Sphinx Search (C++), как заметил ранее
santaatnas, плюс Solr, Apache Lucene.