На веб-интерфейсе вам нужно будет использовать некоторый JavaScript, чтобы отобразить, какие поля верхнего уровня показывают поля подуровня. Это довольно прямо вперед.
Для реального поиска я бы порекомендовал немного аромата Lucene.
Вы можете выбрать вариант .NET Lucene.NET, который использует Stackoverflow, Solr, который, возможно, проще в настройке и запуске, чем Lucene, или новейший ребенок в блоке ElasticSearch, целью которого является отсутствие схемы. и бесконечно масштабируемый, просто отбрасывая больше экземпляров в кластере.
Я использовал только Solr сам, и у него есть хороший клиент .NET (SolrNet).