Все зависит от того, где хранятся ваши данные: базы данных или статические страницы.
Для первого я бы использовал Lucene.NET (см. Блог SubText, в котором последняя версия имеет хорошую реализацию). Для последнего я бы использовал dtSearch, чтобы сканировать сайт, чтобы создать индекс, по которому вы можете искать.