1. Определяем виды и структуру документов. Для парсинга потребуются либо ключевые слова (например первое число после фразы "Высота:" или вся строка после фразы "Задание: ") либо расположение абзацев, знаков (Например, последний абзац — всегда описание или список, начинающийся с - или * — это перечень материалов и т д). Если структура произвольная, то тут два выхода:
- либо сохраняем весь текст целиком (но тут сложный поиск не реализовать);
- либо обрабатываем вручную каждый документ (трудоёмко, если документов много).
2. Выбираем язык, который больше нравится; ищем для этого языка библиотеки для работы с нужными форматами (doc, PDF) или способы выкрутиться, например, сконвертировать в другой формат, с которым работать удобнее и т д.
3. Выбираем БД и библиотеку для работы с ней нашего языка. Создаём схему (таблицы), которая соответствует задаче.
4. По определённой в пункте 1 структуре начинаем парсить документы. Сначала берём один документ и пишем парсер для него, потом пытаемся примерить этот парсер для другого документа — понимаем, что нужно изменить, расставляем условия и т д. В итоге должен получиться набор данных, вроде массива объектов, где каждый объект — распарсенный документ.
5. Сохраняем полученный массив объектов в БД, по пути правим схему, потому что наверняка в п. 3 мы учли не всё.
6. По сути, на этом можно закончить, далее поиск можно осуществлять запросами, средствами БД. Но если интересно, или если данными будут пользоваться другие люди — можно написать интерфейс. Это уже следующая большая задача: выбор интерфейса и его реализация.