Из того, что сразу приходит на ум:
0. выделить какие у документа будут свойства (метаданные). Т.е. кроме названия и автора должны быть, например, тип (статья, книга...), уровень сложности, рубрики или темы к которым относится, язык, год издания, актуально/не актуально, кто/когда добавил в систему, содержание, краткое описание
1. Продумать интерфейс, т.к. мне кажется в данной задаче ты будешь «плясать» именно от этого. А вообще в этой задаче советую зайти, например, на google и попытаться какой-нибудь документ по какой-нибудь конкретной области и попросить это сделать пользователей. И «допросить» что у них получилось, что нет и что бы хотели увидеть и как искать.
2. Предусмотреть роли/группы пользователей: пользователь, администратор, эксперт,…
3. Для индексации можно/нужно на только запросы типа Like '%', но и стандартные компоненты типа Windows Search (есть API, но я не пользовался им) или Full Text Search от SQL Server (если база расположена в нем)
4. Думаю стоит предусмотреть в архитектуре/интерфейсе какие-нибудь: облако тегов, наиболее часто используемые запросы, лучшие ссылки (редактируются пользователем), отметки типа «мне нравится» для документов, избранное
5. Нужно создать удобный рубрикатор (документ может входить в несколько рубрик)
6. Нужно создать список типа «с чего начать»(по предметной области), советы по поиску + документация
7. Механизмы подмены слов
8. нужны инструменты администратора — например чего люди ищут, как, сколько результатов выдется, какие доументы просматривают
9. Нужен механимз обратной связи. Например очень вжный документ находится где-то в конце поиска, и пользователь (эксперт) подсказывает администратору, что нужно «поднять» документ